Django 表单字段类型,前面的NameForm类只有一个字段,字段类型是CharField,对应的HTML元素是<input type="text" ...>
,这里的HTML元素叫作字段的Widget。除此之外,Django的Form类还提供了几十种字段类型,每种类型分别对应不同的HTML元素,下面对这些类型进行简单介绍。如果需要更详细的表单字段介绍,可以参考Django官网:https://docs.djangoproject.com/en/2.0/ref/forms/fields/。
1. BooleanField
Widget:CheckboxInput(<input type="checkbox" ...>)。
空值:False。
标准值:True、False。
验证:如果设置了required=True,则验证字段值是否为True。
验证点:required。
2. CharField
Widget:TextInput(<input type="text" ...>)。
空值:empty_value。
标准值:字符串。
验证:如果设置了max_length, min_length,则验证字段长度是否符合要求,否则不验证。
验证点:required, max_length, min_length。
3. ChoiceField
Widget:Select(<select><option ...>...</select>)。
空值:””。
标准值:字符串。
验证:验证字段值是否存在。
验证点:required, invalid_choice。
4. DateField
Widget:DateInput(<input type="text" ...>)。
空值:None。
标准值:Python datetime.date对象。
验证:验证字段值是否是正确的时间格式字符串、datetime.date
对象、datetime.datetime
对象。
验证点:required, invalid。
5. DateTimeField
Widget:DateInput(<input type="text" ...>)。
空值: None。
标准值:Python datetime.datetime对象。
验证:验证字段值是否是正确的时间格式字符串、datetime.date
对象、datetime.datetime
对象。
验证点: required, invalid。
6. DecimalField
Widget:当Field.localize=False
时对应NumberInput( <input type="number" ...>)
,否则对应TextInput(<input type="text" ...>)
。
空值: None。
标准值:Python decimal对象。
验证:验证字段值是否是数值类型。
验证点: required, invalid, max_value, min_value, max_digits, max_decimal_places, max_ whole_digits。
7. FileField
Widget:ClearableFileInput(<input type="file" ...>)。
空值: None。
标准值:包含文件内容与文件名的UploadedFile对象。
验证:空文件或者没有选择文件。
验证点: required, invalid, missing, empty, max_length。
8. FilePathField
Widget: Select(<select><option ...>...</select>)。
空值: None。
标准值:字符串。
验证:选中的选项是否存在于下拉列表中。
验证点: required, invalid_choice。
9. ImageField
Widget:ClearableFileInput(<input type="file" ...>)。
空值: None。
标准值:包含文件内容与文件名的UploadedFile对象。
验证:空文件或者没有选择文件。
验证点: required, invalid, missing, empty, invalid_image。
10. IntegerField
Widget: 当Field.localize=False
时对应NumberInput( <input type="number" ...>)
,否则对应TextInput(<input type="text" ...>)
。
空值: None。
标准值:Python integer对象。
验证:验证字段值是否是一个整数。
验证点: required, invalid, max_value, min_value。
11. MultipleChoiceField
Widget: SelectMultiple(<select multiple="multiple">...</select>)。
空值: []
(空列表)。
标准值:一组字符串。
验证:所有选中值存在于下拉列表中。
验证点:required, invalid_choice, invalid_list。
酷客教程相关文章:
评论前必须登录!
注册