近期所做工作有關電商專案開發,準備使用django-oscar技術,而官方文件為英文,其github專案位址也難以快速閱讀,因此特別在閱讀官方文件的過程中將過程記錄下來,以供學習。其內容為本人自學的過程,不一定完全正確,僅供參考,有錯誤歡迎指正。
django-oscar簡單來說就是乙個電商框架,不再多說明。
接下來按步驟說明如何構建乙個oscar專案。
由於目前手頭只有一台電腦,配置相當低,系統為windows,因此所做工作目前是在windows下完成,後期將全面移植到linux中。
python版本為3.7,且已安裝anaconda,開發工具使用pycharm community,django版本是2.1.8。
首先,開啟cmd,執行 mkvirtualenv oscar命令。大多數電腦未安裝此命令,會報錯,本人在網上找到了這篇部落格,找到了解決方案,即通過
接下來,執行以下命令
$ mkvirtualenv oscar
$ pip install django-oscar
$ django-admin.py startproject frobshop
將會驚喜的發現,虛擬環境建立成功了,而且安裝好了oscar(安裝慢的話,同樣建議切換到國內映象源),第3行命令將會建立乙個django專案。
這個時候django專案就建立好了
使用pycharm開啟剛建立好的「frobshop」專案,為方便,開啟terminal,接下來的操作將在pycharm編輯器的terminal裡執行。
在terminal裡輸入
workon oscar
接下來修改**,開啟settings.py檔案,新增下面這行**。(這行**後來也沒有用到,是灰色的,我也不知道為什麼要新增這一行)
from oscar.defaults import *
接下來,繼續修改settings.py,新增引用,並修改templates為下面**塊所示(目的是包含主oscar模板目錄並新增額外的上下文處理器):
from oscar import oscar_main_template_dir
templates = [,},
]
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.flatpages',
'django.contrib.sites',
'widget_tweaks',
site_id = 1
middleware = [
'django.middleware.security.securitymiddleware',
'django.contrib.sessions.middleware.sessionmiddleware',
'django.middleware.common.commonmiddleware',
'django.middleware.csrf.csrfviewmiddleware',
'django.contrib.auth.middleware.authenticationmiddleware',
'django.contrib.messages.middleware.messagemiddleware',
'django.middleware.clickjacking.xframeoptionsmiddleware',
'django.contrib.flatpages.middleware.flatpagefallbackmiddleware',
]
authentication_backends = (
'django.contrib.auth.backends.modelbackend',
)
修改urls.py檔案,修改為如下**(注意注釋,django的版本不同則**不同)::
from django.conf.urls import include, url # 小於 django-2.0用該行,否則注釋
# from django.urls import include, path # 大於 django-2.0用該行,否則注釋
from django.contrib import admin
urlpatterns = [
url(r'^i18n/', include('django.conf.urls.i18n')), # 小於2.0版本用該行,否則注釋
# path('i18n/', include('django.conf.urls.i18n')), # 大於 django-2.0用該行,否則注釋
# the django admin is not officially supported; expect breakage.
# nonetheless, it's often useful for debugging.
url(r'^admin/', admin.site.urls), # 小於2.0版本用該行,否則注釋
# path('admin/', admin.site.urls), # 大於 django-2.0用該行,否則注釋
]
在settings.py中新增如下**段,提供了兩種,一種普通的,一種apache solr,我選的第一種,先把專案跑起來再說
haystack_connections = ,
}# 根據實際需要,這兩個**段任選其一
haystack_connections = ,
}
資料庫在官方文件中選用了sqlite,將settings.py中的databases塊修改為如下**:
databases =
}
這一步就是django的常規操作了,資料庫建立加專案執行,命令如下:
$ python manage.py migrate
$ python manage.py runserver
這個時候就能夠通過瀏覽器進行訪問了,以上完成了專案的基本配置和執行,接下來進行一些額外操作。
使用pycountry包自動填充資料,執行以下命令:
$ pip install pycountry
[這裡等待pycountry安裝完,我一開始用的清華源,安裝太慢,切換到豆瓣源安裝就很迅速]
$ python manage.py oscar_populate_countries
不知道具體怎麼翻譯,總之按官方文件說法就是每個oscar都需要至少乙個product class和乙個fulfillment partner(英文不好,見諒),可以訪問進行建立,需要注意的是在這之前需要建立乙個超級管理員使用者,命令為「python manage.py createsuperuser」,建立以後使用「python manage.py runserver」命令啟動專案。
這個翻譯不知道是不是準確,在settings.py中新增以下**段,通過在專案中定義這三個設定,將能夠在order management儀表板中看到不同的狀態。
oscar_initial_order_status = 'pending'
oscar_initial_line_status = 'pending'
oscar_order_status_pipeline =
以上對應官方文件第一章,建議和官方文件對比著看,因為水平實在有限,網上資料又太少,建議以官方文件為主並歡迎指正。 django oscar安裝與使用
一 建立django應用,此步驟省略 二 安裝django oscar django.contrib.admin django.contrib.auth django.contrib.contenttypes django.contrib.sessions django.contrib.messag...
學習筆記 雜湊學習筆記
hash基本原理 hash就是乙個像函式一樣的東西,你放進去乙個值,它給你輸出來乙個值。輸出的值就是hash值。一般hash值會比原來的值更好儲存 更小 或比較。那字串hash就非常好理解了。就是把字串轉換成乙個整數的函式。而且要盡量做到使字串對應唯一的hash值。它的主要思路是選取恰當的進製,可以...
學習筆記 CentOS 學習筆記01
簡單的做個課堂筆記 虛擬機器用的是vmware,系統是centos cd etc sysconfig network scripts pwdls 顯示列表 cat ifcfg eth0 檢視檔案內容 vi ifcfg eth0 進入vi編輯器 onboot no 原始設定 x逐字刪除 d刪除整行 a...