簡介:
Django是python的web開發框架,採用了MTV的框架模式,即模型Model,視圖View和模版Template。
各自的職責爲:
- 模型(Model),即數據存取層:如何存取、如何驗證有效性、包含哪些行爲以及數據之間的關係等;
- 模板(Template),即表現層:如何在頁面或其他類型文檔中進行顯示;
- 視圖(View),即業務邏輯層:存取模型及調取恰當模板的相關邏輯,模型與模板的橋樑
Vue則是一套用於構建用戶界面的漸進式JavaScript框架,且非常容易與其它庫或已有項目整合。
流程圖解爲:
主要步驟爲:
1. 創建django項目:django-admin startproject appname(appname爲你想要創建的項目名)
2. 進入項目根目錄,創建一個app作爲項目後端:
cd appname
python manage.py startapp childname(childname爲app名)
3. 使用vue-cli創建一個vuejs項目作爲項目前端:
vue init webpack vuename(vuename爲前端項目名稱)
此時項目目錄爲:可以看見創建的目錄
4. 配置搜索路徑:
數據庫配置:在settings.py文件中DATABASES,作如下更改:
app的路徑配置:在settings.py文件中將childname寫入INSTALLED_APPS,如圖:
vue路徑配置:在settings.py文件將['vueName/dist']寫入TEMPLATES,如圖:
以及settings.py中的STATICFILES_DIRS如下更改:
運行整個項目時,找到前端打包生成的文件,在appname下的urls.py內添加,且增加url時,要寫入改文件,用來尋找對應函數
5. 書寫文件:
- 在vuename/src/components新建了一個vue文件,裏面寫自己要實現的界面,並要引入自己使用的接口;
- 在chilename/下的models.py文件中寫關於數據庫建庫信息,寫好之後,運行:
python manage.py makemigrations childName 讓 Django 知道在模型有一些變更
python manage.py migrate childName 創建表結構;
- 在chilename/下的views.py文件中寫關於取值,前後端交互的函數;
- 在vuename/src/下新建一個文件夾api,下新建一個api.js,定義接口方法。
6. 若想在vue中編寫的界面,展示到界面上的話,需要先打包vue文件,打包完成之後,會更新dist文件裏的index.html和static文件夾內容,由於vue不是實時,所以每次更改vue文件時,都需要重新打包文件,若覺得這樣麻煩的話,可以先單純的調整界面,在與後端一起聯調。
打包命令:
cd vuename
npm run build
單純調界面的命令:開始時運行此命令,當界面有調整時,刷新界面,即成爲最新
cd vuename
npm run dev
7. 運行:
前端界面打包之後,啓動:
python manage.py runserver 127.0.0.1:80
ip和端口可以自己定義也可以默認,默認的話,可直接運行:
python manage.py runserver
8. 結果展示:
在這展示一下我自己寫的一個簡單的界面:直接訪問你的ip:端口即可
數據庫數據爲:
這樣的話,一個簡單的Django+vue結合的界面搭建就完成了!
總結:
該種方式很好的實現了前後端代碼分離,降低各功能模塊之間的耦合性,方便變更,更容易重構代碼,項目設置和語法都相對來說比較簡單,可以更快的輸出顯示並且js庫體積更小,可以在實施搭建過程中學到很多。