1. 程式人生 > >vue+django restful framework 電商專案(三) -- xadmin安裝和 商品資料的匯入

vue+django restful framework 電商專案(三) -- xadmin安裝和 商品資料的匯入

         xadmin的安裝和配置詳見部落格:http://www.cnblogs.com/shhnwangjian/p/6372503.html   途中可能會遇到缺少什麼包, 用pip安裝就是了. 此部配置直到能進xadmin後臺就可以了.

        接下來我們配置我們專案需要用到的一些功能.

        首先是我們來把富文字編輯器嵌入在xadmin中, xadmin的官方文件:

https://xadmin.readthedocs.io/en/docs-chinese/make_plugin.html#id1   我們的專案巢狀ueditor教程詳見: http://www.cnblogs.com/derek1184405959/p/8747961.html

        因為這個xadmin外掛開發不是一時半會能學會的, 我們主要的目的是學會drf 我們照著教程做吧.

        注意教程中有一個url的寫法因為版本的不同有bug,

      

       改為

      這是因為他們使用的django2.0版本, 而我們使用的是1.10版本.

  4.3.註冊app到xadmin後臺

         每個app下都新建adminx.py  為什麼要建?  因為: 類似django自動生成的admin.py檔案,xadmin會自動在每個app下搜尋    xadminx.py並註冊, 這是xadmin的執行機制.

4.3.1註冊users到xadmin

我們來一張效果圖吧.

        註冊前:

注意: 這裡的使用者資訊是django中管理後臺者的使用者資訊, 並不是商城網站使用者者的資訊, 管理後臺使用者資訊無論是django自帶的admin還是xadmin, 都會自動生成的,

      註冊後:

我們這隻把簡訊驗證表的檢視類註冊到後臺, 至於為什麼不把商城使用者的資訊註冊到後臺, 我暫且也不知道, 等到老師再講吧,

注意看左上角的慕學生鮮和右下角的llls_making, 這就是程式碼中:

這裡實現的.不好意思, 慕學的慕寫錯了, 我這就改過來. 接下來我們看看這一塊的效果

變成後:變更前: , 很明顯就是把類檢視的名字由原來的users -> 使用者管理.

4.3.1註冊goods

我們這裡講一下一個重點知識,在上面那個部落格中的這一段程式碼:

# 在新增商品的時候可以新增商品圖片
    class GoodsImagesInline(object):
        model = GoodsImage
        exclude = ["add_time"]
        extra = 1
        style = 'tab'
    inlines = [GoodsImagesInline] # 一對多模型中管理介面可以管理多個module

這一段程式碼是為了在新增商品的時候可以新增商品圖片

其他商品類我們就不講了, 因為都是xadmin的基礎知識.

4.4.匯入商品類別資料

         我們做測試一定要大量的資料, 那麼這些資料都是手動一個一個匯入進去嗎?  這不是很沒效率, 別忘了, 人的腦子是用來想問題的, 而不是用來做重複的事的. python原來本來就是做自動化相關的, 我們用python來自動匯入吧.

我本來想講一下這一段程式碼怎麼來的

# db_tools/data/import_category_data.py

#獨立使用django的model
import sys
import os

#獲取當前檔案的路徑(執行指令碼)
pwd = os.path.dirname(os.path.realpath(__file__))
#獲取專案的跟目錄
sys.path.append(pwd+"../")
#要想單獨使用django的model,必須指定一個環境變數,會去settings配置找
#參照manage.py裡面就知道為什麼這樣設定了
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "MxShop.settings")

import django
django.setup()

結果出來的基本都是如何去用, 而都不會去糾結這些語句都是幹嘛用的, 唉....  實在找不到, 我們先照著模板用的吧.

程式碼的理解和書寫, 自己獨立完成吧, 我就不詳細寫了, 因為這都比較基礎,

匯入成功後, 我們點開一個數據看,

這裡為什麼圖片沒有顯示, 只是一個名稱, 這是因為還沒有配置靜態檔案, django靜態檔案的配置詳見: https://segmentfault.com/a/1190000004232816

在這裡直接按照最頂層的部落格教程做. 由於部落格中的django版本和我們的不一樣, 需要做一定的修改,  urls改為

from django.views.static import serve
from VueShopProject.settings import MEDIA_ROOT

urlpatterns = [
    url('xadmin/', xadmin.site.urls),
    url(r'^ueditor/', include('DjangoUeditor.urls')),
    url(r'media/(?P<path>.*)$', serve, {'document_root': MEDIA_ROOT}),
]

我們再次執行django, 看看圖片顯示出來了沒有

圖片顯示正常!