MVC的核心思想就是解耦。

Django遵循MVC思想,其稱為MVT。其中:
M: Model模型:和MVC中的M相同和資料庫互動
V:View視圖,和MVC中的C相同,接收請求并處理,與M和T互動,傳回應答
T:Template模闆,和MVC中的V功能相同,産生HTML
解決python安裝包依賴問題
安裝:pip install -i https://pypi.douban.com/simple django
在虛拟環境裡面配置,減少依賴。
Django項目建立
項目結構
建立應用 C:\Users\admin\Desktop\bncDome\test1>django-admin startapp booktest
啟動伺服器
添加app
ORM模型類生産表
1 設計testbook app中的model.py
2 生成遷移檔案
3 執行遷移生成表
sqlite3是一個小型資料庫,經常使用在手機登移動端
通過模型操作資料表。操作sqlite3
模型與模型關系
生成遷移檔案
生成遷移表
Django操作背景管理
(1)本地化語言與時間
(2)建立管理者
(3)啟動伺服器
(4)浏覽器通路
(5)注冊模型類
(6)清單文本顯示
(7)自定義管理頁面
視圖使用:當視圖與T互動時候,首先浏覽器位址中127.0.0.1\index。找到項目第三步中的url中的urlpatterns中查找,\與^ 一樣,逐漸往下比對。找到booktest.urls。然後跳到app中的booktest中的urls(第二步)繼續比對。對應的是一個視圖views.index,就會跳到視圖views.py比對,即第一步
(1)編寫view代碼,定義視圖函數,傳回浏覽器的内容
(2)建立urls.py:配置url路由,注意嚴格比對開頭結尾。位址視圖都在這裡直接比對
(3) 項目的url檔案配置,包含對應的app中的視圖
ur與視圖比對過程
l
(1)根項目下建立模闆templates檔案夾
(2)配置模闆目錄
項目絕對路徑,檢視即可
設定目錄檔案路徑
配置模闆檔案,每個app下建立一個模闆檔案名如booktest
這裡面的模闆檔案為html,而模闆中不僅僅為html。其中支援變量,變量使用兩個花括号,;裡面是view.py中設定的字典鍵名。
模闆中的周遊
(3)使用模闆檔案
模闆渲染:産生标準的html
封裝以上步驟
注意:使用模闆檔案中需要以上四個步驟,對以上四步進行封裝為my_render周遊高效執行。幸運的是django已經幫我們封裝好了這個方法為render。其中第一個參數為request,第二個是模闆路徑,第三個參數是變量字典,沒有變量則為空
顯示結果
(1)啟動項目解決端口号占用,指定端口号
(2)案例介紹
(3)視圖編寫,先導入模型model類,查找MongoDB資料庫的表資訊
(4)配置url,記得配置主項目下的urls.py,這個檔案一次配置多次使用
(5)建立模闆檔案
(6)顯示圖書資訊,首頁資訊
(7) 在視圖裡面編寫圖書管理的詳細資訊
(8) 設定URL位址以及傳參
Django在頁面間傳參的原理是,在頁面url配置時候通過括号裡面的組進行傳參,後面視圖會自動解析組内容進行參數填充。多個參數多個組
(8)建立子頁面資訊
(1)建立新的項目:django-admin startproject tets2
(2) 建立app: django-admin startapp booktest
(3) setting.py中的INSTALLED_APPS注冊應用booktest
(4) setting.py中的DATABASES中配置資料庫
(5) 預先安裝pip install pymysql,之後在test2中需要加兩句話:
(6) 根目錄下啟動服務: python manage.py runserver
(7) 遷移表:python manage.py makemigrations
(8) mysql資料庫同步表:python manage.py migrate
(9) 編寫views
(10) 設定模闆目錄DIRS
(11) 在templates下建立booktest檔案夾,然後建立html
(12) 配置urls
booktest的urls
重定向
(13)mysql日志檔案
(14)模型-模型關系:1:1,1:多,多:多
兩個類之間有多對多的關系,ManyToManyField定義在哪個類裡面都可以
(15)模型-關聯查詢
(16)管理器對象
(17)元選項:不會因為app改變影響模型類,然後重新做下遷移
模型類對應的表名不依賴于應用的名字
作者:白甯超,工學碩士,現工作于四川省計算機研究院,研究方向是自然語言處理和機器學習。曾參與國家自然基金項目和四川省科技支撐計劃等多個省級項目。著有《自然語言處理理論與實戰》一書。 自然語言處理與機器學習技術交流群号:436303759 。
出處:http://www.cnblogs.com/baiboy/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。