django oscar學習筆記(一)

2021-09-19 04:27:53 字數 4041 閱讀 5223

近期所做工作有關電商專案開發,準備使用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...