W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
我們已經(jīng)簡單的描述過了HTML 表單,但是一個HTML?<form>
?只是其所需的一部分。
在網(wǎng)絡應用的上下文中,“表單”可能指的是那個HTML?<form>
?,或者指產(chǎn)生它的 Django ?Form
?,或者指它提交時返回的結構化數(shù)據(jù),或者指這些部分的端到端工作集合。
Django表單系統(tǒng)的核心組件是 ?Form
?類。它與Django模型描述對象的邏輯結構、行為以及它呈現(xiàn)給我們內容的形式的方式大致相同, ?Form
?類描述一張表單并決定它如何工作及呈現(xiàn)。
類似于模型類的字段映射到數(shù)據(jù)庫字段的方式,表單類的字段會映射到HTML表單的 ?<input>
? 元素。 ?ModelForm
?通過 ?Form
?映射模型類的字段到HTML表單的 ?<input>
? 元素,Django admin就基于此。
表單字段本身也是類;他們管理表單數(shù)據(jù)并在提交表單時執(zhí)行驗證。 ?DateField
?和 ?FileField
?處理的數(shù)據(jù)類型差別很大,所以必須用來處理不同的字段。
在瀏覽器中,表單字段以HTML控件(用戶界面的一個片段)的形式展現(xiàn)給我們。每個字段類型都有與之相匹配的 控件類 ,但必要時可以覆蓋。
在Django中渲染一個對象的時候,我們通常:
在模板中渲染表單幾乎與渲染任何其他類型的對象的一樣,但是存在一些關鍵性的差異。
如果模型實例不包含數(shù)據(jù),在模板中對它做任何處理幾乎沒什么用。但完全有理由用來渲染一張空表單——當我們希望用戶來填充的時候就會這么做。
所以當我們在視圖中處理模型實例時,我們一般從數(shù)據(jù)庫中獲取它。當我們處理表單時,我們一般在視圖中實例化它。
當我們實例化表單時,我們可以選擇讓它為空或者對它預先填充,例如使用:
最后一種情況最有趣,因為這使得用戶不僅可以閱讀網(wǎng)站,而且還可以將信息發(fā)回給它。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: