Form包含各種字段(Field),每個Field也是一個類,每個Field包含一個widget的類,用來控制html元素的展示個屬性等.
在肇東等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供做網(wǎng)站、網(wǎng)站制作 網(wǎng)站設(shè)計制作按需設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站建設(shè),全網(wǎng)整合營銷推廣,外貿(mào)網(wǎng)站制作,肇東網(wǎng)站建設(shè)費用合理。Form
所有的Form都作為django.forms.Form 的子類創(chuàng)建
form.is_bound 返回當(dāng)前表單是否已綁定數(shù)據(jù)
hidden_fields() visible_fields() 分別返回所有隱藏的列和可見的列
每個Field都會根據(jù)字段類型對應(yīng)一個默認的類,也可以手動指定widget的值來更改默認widget類,如下
name=forms.CharField(label='名稱'max_length=200,widget=forms.TextInput(attrs={'class':'form-control'}))
widget.attrs
html屬性的一個字典 #{'class': 'form-control', 'required': 'required'}
不管表單提交的是什么數(shù)據(jù),一旦通過調(diào)用is_valid() 成功驗證(is_valid() 返回True),驗證后的表單數(shù)據(jù)將位于form.cleaned_data 字典中。這些數(shù)據(jù)已經(jīng)為你轉(zhuǎn)換好為Python 的類型。
注
此時,你依然可以從request.POST 中直接訪問到未驗證的數(shù)據(jù),但是訪問驗證后的數(shù)據(jù)更好一些。
手動渲染時要加上non_field_errors這個錯誤信息.
{{ form.non_field_errors }}
<div class="fieldWrapper"> {{ form.subject.errors }} <label for="{{ form.subject.id_for_label }}">Email subject:</label> {{ form.subject }}</div>
field 中有用的屬性
`field`.`get_XXX_display` #xx指字段名.
當(dāng)定義的字段為關(guān)系字段,選擇字段,bool等等,
django會自動生成一個get_xx_display的方法來生成這些字段的展示數(shù)據(jù).
is_end_state = models.SmallIntegerField('是否', default=0,choices=[(0,'否'),(1,'是')])
is_end_state = models.SmallIntegerField('是否', default=0,choices=[(0,'否'),(1,'是')])
當(dāng)字段類型為CharField時使用get_xx_display,獲取到的值為本身,
直接打印出來為0或者1,使用get_xx_display打印出來則為定義字段時的則為是/否
{{ field.label }}
字段的label,例如Email address。
{{ field.label_tag }}
包含在HTML <label> 標簽中的字段Label。它包含表單的label_suffix。例如,默認的label_suffix 是一個冒號:
<label for="id_email">Email address:</label>
{{ field.id_for_label }}
用于這個字段的ID(在上面的例子中是id_email)。如果你正在手工構(gòu)造label,你可能想使用它代替label_tag。如果你有一些內(nèi)嵌的JavaScript 并且想避免硬編碼字段的ID,這也是有用的。
{{ field.value }}
字段的值,例如someone@example.com。
{{ field.html_name }}
輸入元素的name 屬性中將使用的名稱。它將考慮到表單的前綴。
{{ field.help_text }}
與該字段關(guān)聯(lián)的幫助文檔。
{{ field.errors }}
輸出一個<ul class="errorlist">,包含這個字段的驗證錯誤信息。你可以使用{% for error in field.errors %}自定義錯誤的顯示。 這種情況下,循環(huán)中的每個對象只是一個包含錯誤信息的簡單字符串。
{{ field.is_hidden }}
如果字段是隱藏字段,則為True,否則為False。作為模板變量,它不是很有用處,但是可以用于條件測試,例如:
{% if field.is_hidden %} {% endif %}
{{ field.field }}
表單類中的Field 實例,通過BoundField 封裝。你可以使用它來訪問Field 屬性,例如{% char_field.field.max_length %}。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國云服務(wù)器,動態(tài)BGP最優(yōu)骨干路由自動選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機房獨有T級流量清洗系統(tǒng)配攻擊溯源,準確進行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動現(xiàn)已開啟,新人活動云服務(wù)器買多久送多久。
分享文章:djangoform渲染-創(chuàng)新互聯(lián)
文章出自:http://www.rwnh.cn/article24/jdjje.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計、搜索引擎優(yōu)化、面包屑導(dǎo)航、App開發(fā)、手機網(wǎng)站建設(shè)、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容