1. 程式人生 > >7-7 django線上教育平臺----modelform提交我要學習和url分類

7-7 django線上教育平臺----modelform提交我要學習和url分類

我要學習是一個表單提交,和之前的登入註冊類似,可以用之前的方法新建forms.py進行表單資料驗證

這裡寫圖片描述

新建forms.py

對比model和form,即資料庫中的欄位和需要驗證的資料,這兩段程式碼,重複的部分很多,如果欄位更多,就重複越多,所以通過繼承forms.ModelForm將model轉換成form

這裡寫圖片描述

這裡寫圖片描述

將model轉換成form,會根據model中的定義進行欄位的驗證

這裡寫圖片描述

最後編寫如下,這樣通過繼承forms.ModelForm比繼承forms.Form省去了很多重複程式碼,forms.ModelForm中的方法比forms.Form方法更加強大,比如繼承forms.ModelForm的例項可以直接將資料儲存到資料庫

這裡寫圖片描述

配置url

在配置url之前,首先進行url分類,這裡的url越寫越多,很難維護,必須進行合理分類,引入include機制進行分類

這裡的驗證碼的url就是運用了include機制

這裡寫圖片描述

點選驗證碼的urls進去檢視驗證碼有哪些url,可以像這樣進行分類,在主urls.py中include進去就可以了

這裡寫圖片描述

授課機構相關url的分類

在organization app 下新建自己的urls.py
這裡寫圖片描述

專案主urls.py中配置,引入organization app 的urls.py
url首先匹配以org/,接著去organization app 的urls.py進行匹配,匹配最終結果是org/list/
這裡寫圖片描述

檢視include用法,這裡的namespace是名稱空間,防止命名衝突
這裡寫圖片描述

重啟專案測試
測試成功

這裡寫圖片描述

配置模板中的url
這裡利用了namespace和name
這裡寫圖片描述