天天看點

筆記5:Django知識一

MVC的核心思想就是解耦。
筆記5:Django知識一

Django遵循MVC思想,其稱為MVT。其中:

M: Model模型:和MVC中的M相同和資料庫互動

V:View視圖,和MVC中的C相同,接收請求并處理,與M和T互動,傳回應答

T:Template模闆,和MVC中的V功能相同,産生HTML

筆記5:Django知識一
解決python安裝包依賴問題

安裝:pip install -i https://pypi.douban.com/simple django

筆記5:Django知識一

在虛拟環境裡面配置,減少依賴。

Django項目建立
筆記5:Django知識一

項目結構

筆記5:Django知識一

建立應用 C:\Users\admin\Desktop\bncDome\test1>django-admin startapp booktest

筆記5:Django知識一
筆記5:Django知識一

啟動伺服器

筆記5:Django知識一

添加app

筆記5:Django知識一
筆記5:Django知識一
ORM模型類生産表

1 設計testbook app中的model.py

筆記5:Django知識一

2 生成遷移檔案

筆記5:Django知識一
筆記5:Django知識一

3 執行遷移生成表

筆記5:Django知識一
筆記5:Django知識一

sqlite3是一個小型資料庫,經常使用在手機登移動端

通過模型操作資料表。操作sqlite3

模型與模型關系

筆記5:Django知識一

生成遷移檔案

筆記5:Django知識一

生成遷移表

筆記5:Django知識一
筆記5:Django知識一
筆記5:Django知識一
筆記5:Django知識一

Django操作背景管理

(1)本地化語言與時間

(2)建立管理者

筆記5:Django知識一

(3)啟動伺服器

筆記5:Django知識一

(4)浏覽器通路

筆記5:Django知識一

(5)注冊模型類

筆記5:Django知識一
筆記5:Django知識一
筆記5:Django知識一
筆記5:Django知識一

(6)清單文本顯示

筆記5:Django知識一
筆記5:Django知識一

(7)自定義管理頁面

筆記5:Django知識一
筆記5:Django知識一

視圖使用:當視圖與T互動時候,首先浏覽器位址中127.0.0.1\index。找到項目第三步中的url中的urlpatterns中查找,\與^ 一樣,逐漸往下比對。找到booktest.urls。然後跳到app中的booktest中的urls(第二步)繼續比對。對應的是一個視圖views.index,就會跳到視圖views.py比對,即第一步

(1)編寫view代碼,定義視圖函數,傳回浏覽器的内容

筆記5:Django知識一

(2)建立urls.py:配置url路由,注意嚴格比對開頭結尾。位址視圖都在這裡直接比對

筆記5:Django知識一
筆記5:Django知識一
筆記5:Django知識一

(3) 項目的url檔案配置,包含對應的app中的視圖

筆記5:Django知識一

ur與視圖比對過程

筆記5:Django知識一

l

(1)根項目下建立模闆templates檔案夾

筆記5:Django知識一

(2)配置模闆目錄

項目絕對路徑,檢視即可

筆記5:Django知識一

設定目錄檔案路徑

筆記5:Django知識一

配置模闆檔案,每個app下建立一個模闆檔案名如booktest

筆記5:Django知識一

這裡面的模闆檔案為html,而模闆中不僅僅為html。其中支援變量,變量使用兩個花括号,;裡面是view.py中設定的字典鍵名。

模闆中的周遊

筆記5:Django知識一

(3)使用模闆檔案

筆記5:Django知識一

模闆渲染:産生标準的html

筆記5:Django知識一

封裝以上步驟

筆記5:Django知識一

注意:使用模闆檔案中需要以上四個步驟,對以上四步進行封裝為my_render周遊高效執行。幸運的是django已經幫我們封裝好了這個方法為render。其中第一個參數為request,第二個是模闆路徑,第三個參數是變量字典,沒有變量則為空

筆記5:Django知識一
筆記5:Django知識一
筆記5:Django知識一

顯示結果

筆記5:Django知識一

(1)啟動項目解決端口号占用,指定端口号

筆記5:Django知識一

(2)案例介紹

筆記5:Django知識一
筆記5:Django知識一

(3)視圖編寫,先導入模型model類,查找MongoDB資料庫的表資訊

筆記5:Django知識一
筆記5:Django知識一

(4)配置url,記得配置主項目下的urls.py,這個檔案一次配置多次使用

筆記5:Django知識一

(5)建立模闆檔案

筆記5:Django知識一

(6)顯示圖書資訊,首頁資訊

筆記5:Django知識一

(7) 在視圖裡面編寫圖書管理的詳細資訊

筆記5:Django知識一
筆記5:Django知識一

(8) 設定URL位址以及傳參

筆記5:Django知識一

Django在頁面間傳參的原理是,在頁面url配置時候通過括号裡面的組進行傳參,後面視圖會自動解析組内容進行參數填充。多個參數多個組

(8)建立子頁面資訊

筆記5:Django知識一

(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中需要加兩句話:

筆記5:Django知識一
筆記5:Django知識一

(6) 根目錄下啟動服務: python manage.py runserver

(7) 遷移表:python manage.py makemigrations

(8) mysql資料庫同步表:python manage.py migrate

筆記5:Django知識一

(9) 編寫views

(10) 設定模闆目錄DIRS

(11) 在templates下建立booktest檔案夾,然後建立html

(12) 配置urls

booktest的urls

重定向

(13)mysql日志檔案

筆記5:Django知識一

(14)模型-模型關系:1:1,1:多,多:多

筆記5:Django知識一

兩個類之間有多對多的關系,ManyToManyField定義在哪個類裡面都可以

筆記5:Django知識一

(15)模型-關聯查詢

筆記5:Django知識一
筆記5:Django知識一

(16)管理器對象

筆記5:Django知識一
筆記5:Django知識一
筆記5:Django知識一
筆記5:Django知識一

(17)元選項:不會因為app改變影響模型類,然後重新做下遷移

筆記5:Django知識一

模型類對應的表名不依賴于應用的名字

作者:白甯超,工學碩士,現工作于四川省計算機研究院,研究方向是自然語言處理和機器學習。曾參與國家自然基金項目和四川省科技支撐計劃等多個省級項目。著有《自然語言處理理論與實戰》一書。 自然語言處理與機器學習技術交流群号:436303759 。

出處:http://www.cnblogs.com/baiboy/

本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接配接,否則保留追究法律責任的權利。