django基礎筆記

馬超_發表於2018-02-01

django基礎第一天筆記

django開發web專案的開源框架

django的作用:簡單開發資料庫驅動的網站,

MVC的核心思想:低耦合,高內聚 低耦合就是模組與模組之間依賴度低,可以獨立, 高內聚就是邏輯程式碼聯絡越緊密內聚就越高,一般情況下,只要模組與模組之間的耦合度比較低那麼內聚自然就高了 MVC中的V代表構造要響應給客戶端的html頁面,內嵌模板引擎而在MVT中的T代表了這個 C controller:接收請求,邏輯處理,響應請求。與MVT中的V view對應

MVT特點:封裝度高,強調程式碼的服用,模組與模組之間的耦合度較低 django遵循MVC的設計模式,但是它使用的框架叫做MVT但是兩個人的設計模式的思想是一樣的 設計模式就是一套被人反覆使用的,經過分類的,程式碼設計經驗的一個總結 M:就是model,對資料庫層的操作,內嵌了ORM框架,ORM框架將資料庫表的每一次與其對應的物件進行關聯,使我們可可以用物件導向的方恨式去運算元據庫,而不需要寫sql語句 V: 就是檢視,就受請求,邏輯處理,返回資料 T:template用與構造要響應給客戶端的html頁面,內嵌了模板引擎,實現了動態展示資料, 關係:當客戶端輸入網址的時候,view模組接收請求,需要資料的話就通過model模組進行資料的查詢,拿到資料後返回給vievie經過邏輯處理後,然後通過呼叫template模板進行資料的填充和渲染返回給view一個html頁面,view再把資料響應給客戶端

模型,當前專案的開發都是基於資料的 要先分析出專案中所需要的資料然後設計資料庫表 先定義模型類,然後通過模型類和物件完成對資料庫的增刪改查

模型中使用了ORM框架,他會把資料庫表的行與其相應的物件建立關聯,可以使用物件導向去運算元據庫 1.建立模型類 2.模型遷移 分為兩步(1)先根據模型類生成建立表的語句 makemigrations (2)執行遷移,根據上面生成的語句在資料庫中建表 3.運算元據庫 通過建立的模型類和物件完成資料庫表的增刪改查 (1)測試的方法,進入當前專案的shell ,進行簡單的增刪改查API操作 python manage.py shell 直接匯入book應用中的models模組中的模型類 通過模型類建立物件,然後用這個物件去修改去新增內容,操作完之後要使用 物件.save()來儲存(我覺得也應該是提交事務) 查詢表中的所有記錄 模型類類名.objects.all() 通過物件名,delete()來刪除這個物件,在查詢時表裡面就沒有這個物件的相關資訊

站點管理(後臺): 分為內容釋出和公共訪問 內容釋出的部分由管理員負責檢視,新增,修改,刪除資料 django可以根據建立的模型類自動生成管理模組

管理模組的步驟: 1.管理介面本地化 在專案管理目錄的settings中修改語言,時區 2.建立管理員 python manage.py createsuperuser 3.註冊模型類 在應用下的admin中註冊站點管理資訊模型類中 admin.site.register(模型類類名) 4.自定義站點管理介面 在應用下的admin中自定義站點管理資訊模型類,這個類繼承於站點管理中的模型,這個類用於設定要展示的模型類中的屬性,通過在list_display這個列表中新增欄位名就可以了 然後註冊資訊模型類及站點管理類 admin.site.register(模型類類名,模型類站點管理類)

檢視和URL 檢視就是用來接收使用者請求,處理邏輯,返回資料的模組 一個檢視就是一個函式,檢視的第一個引數是http請求型別的物件request,包含了所有的請求資訊

如果不使用模板的話,檢視必須返回Httpresponse(響應)獨象,包含返回給請求者的響應資訊。需要匯入HttpResponse模組,從django.http中匯入

如果使用了模板的話 返回 render(request,模板的路徑,上下文(是一個字典,一般封裝從資料庫中查到的資料))返回html頁面 上下文使用context{‘key’,’value’}

但是想要使用模板的話得現在專案管理目錄下的設定檔案中指明模板的載入路徑(怎麼指明?將專案路徑與模板路徑進行拼接,指明模板的路徑) 專案的根路徑:BASE_DIR

當使用者在瀏覽器中輸入中輸入URL(網址)的時候,首先會從專案的管理目錄的settints設定檔案中ROOT_URLCONG(根路徑的URL配置)屬性,將URL傳遞給專案管理目錄下的url.py這個檔案(這個檔案的作用就是應用路由配置,在這裡配置URL正則,如果匹配成功j就把某個應用下的urls包含到這個專案中去 ,指明下一級如何匹配,然後再在應用的urls檔案中正則匹配請求,如果請求成功,就執行應用vies中的某個函式去對應這個請求) 每次做請求地址的正則匹配的時候預設會找urls下的urlpatterns中的內容

__str__方法,其必需return一個字串型別的資料,表示對物件的字串描述一般在print輸出這個物件的時候會被呼叫

專案檔案的介紹:init.py:表示專案檔案可以當做一個包來使用 settints.py:表示專案的正體配置檔案 urls.py:表示專案的URL配置未見,也可以理解為請求的分發 wsgi.py:是專案與WSGI相容的web伺服器的入口 mange.py 專案執行的入口,指定了配置檔案 命令管理工具?

應用下的檔案介紹: admin:後臺站點管理的註冊檔案 init.py 表示這個應用可以當做一個包來使用 migeations: 用來做模型遷移,也就是建立表的 一般分為兩步,第一步通過模型類生成建立表的語句,第二步遷移檔案,也就是建立表
test.py:用來做測試 views.py:接受請求,邏輯處理,響應資料

相關文章