Django提供了3种表单字段渲染方式。
{
{ form.as_table }}:表单式样式,默认方式。将字段渲染为包装在表格
{ { form.as_p }}:段落样式,将字段渲染为包装在
元素中的段落。
{
{ form.as_ul }}:列表样式,将字段渲染为包装在
表单字段的定义包含字段名、字段类型和字段参数3个部分,示例如下。
class dataForm(forms.Form):
data = forms.CharField(label='请输入数据') #定义表单字段
其中,data为字段名,字段渲染生成的元素的for属性值为“id_data”,生成的元素的name属性值为“data”、id属性值为“id_data”。CharField为字段类型,label为字段参数。
django.forms模块定义了一系列字段类来描述表单字段的类型。
字段类型决定了Django如何执行下列操作。
字段被渲染成哪种HTML表单元素。
是否必须为字段提供数据。默认情况下,所有类型的字段都必须提交数据。
如何校验字段数据。
如何将数据规范化为Python数据。
字段类 默认渲染成的表单元素 Python数据的类型
BooleanField CheckboxInput True或False
CharField TextInput 字符串
ChoiceField Select 字符串
DateField DateInput datetime.date
TimeField TimeInput datetime.time
DecimalField NumberInput(未本地化时)或TextInput decimal
FloatField NumberInput(未本地化时)或TextInput float
IntegerField NumberInput(未本地化时)或TextInput integer