Django框架:Form组件及参数
Form 类
- Meta class:一个嵌套类,用于指定与表单相关的元数据。
model
:如果指定,表单将自动根据模型的字段生成表单字段。fields
:一个字段列表,指定哪些模型字段应该包含在表单中。exclude
:一个字段列表,指定哪些模型字段应该被排除在表单之外。
Form 实例
- form.is_bound:布尔值,指示表单是否已经被提交。
- form.is_valid():检查表单数据是否有效。
- form.errors:包含表单中所有错误的字典。
- form.cleaned_data:包含经过清理和验证的数据的字典。
Form字段
Django提供了多种字段类型,每种字段类型都有自己的参数和行为。以下是一些常用的字段类型及其参数:
-
CharField:
max_length
:字符的最大长度。min_length
:字符的最小长度。strip
:是否去除输入值的前后空白字符。required
:是否为必填字段。
-
IntegerField:
max_value
:整数的最大值。min_value
:整数的最小值。
-
EmailField:
max_length
:电子邮件地址的最大长度。strip
:是否去除输入值的前后空白字符。
-
DateField:
input_formats
:一个日期格式列表,用于解析输入的日期字符串。
-
ChoiceField:
choices
:一个元组列表,定义了可供选择的选项。
-
MultipleChoiceField:
choices
:同上,但允许选择多个选项。
-
BooleanField:
required
:布尔值,指示该字段是否为必填。
-
FileField:
max_length
:文件路径的最大长度。allow_empty_file
:是否允许上传空文件。
-
ImageField:
max_length
:图像文件路径的最大长度。height_field
:关联的字段名,用于存储图像的高度。width_field
:关联的字段名,用于存储图像的宽度。
Form字段参数
除了字段特定的参数外,所有字段都支持以下通用参数:
label
:字段的标签。initial
:字段的初始值。required
:布尔值,指示该字段是否为必填。widget
:用于渲染字段的Widget类。help_text
:字段的帮助文本。error_messages
:自定义错误消息的字典。localize
:布尔值,指示字段值是否应该被本地化。disabled
:布尔值,指示字段是否被禁用。
Form 方法
- form.save([commit])**:保存表单数据到数据库。如果
commit
为False
,则返回模型实例而不保存。 - form.full_clean():清理表单数据并验证其有效性。
这些是Django表单组件的一些基本概念和参数。通过这些组件和参数,你可以创建复杂的表单来处理各种用户输入。