第九章 Django Form表单-2
本章所学内容:
9.1 Form类
9.2 Django内置字段(Field)
9.3 CharField() 子类
9.4 Django 内置HTML插件
9.5 常用选择插件
9.6 项目实例说明(有缘千里来相会网站)
9.1 Form类
9.1.1 Form类详解
(1)Form类介绍
两种功能:1、实现验证(正则匹配去验证的)
2、自动生成HTML代码
创建Form类时,主要涉及到【字段】和【插件】,
字段用于对用户请求数据的验证,
插件用于自动生成HTML代码;
9.2 Django内置字段(Field)
9.2.1 Django内置字段(Field)简介
(1)required
Required=True; 是否允许为空
(2)widget
Widget=None; HTML插件
(3)label
Label=None; 用户生成Label标签或显示内容
(4)initial
Initial=None; 初始值
(5)help_text
Help_text=’ ’; 帮助信息
(6)error_messages
Error_messages=None; 自定义错误信息{‘required’: ‘不能为空’}
(7)label_suffix
Label_suffix=None; Label后缀
内置字段(正则):
CharField()
IntegerField()
FloatField()
DateField() 格式:2018-1-19
TimeField() 格式:11:36
DateTimeField() 格式:2018-1-19 11:36
RegexField() 自定义正则表达式
EmailField() 邮箱格式
ImageField() 图片上传 注:需要PTL模块,pip install Pillow
FileField() 文件上传
URLField() URL匹配
BooleanField() 真与假
NullBooleanField() 真 假 空
ChoiceField() 下拉
ModelChoiceFiled() 结合数据库下拉
FilePathField() 文件选项,遍历文件
GenericIPAddressField() 匹配IPV4或IPV6
MultipleChoiceField() 多选
……内置字段
9.2.2 深度分析form结构
1. 深度分析form结构
2. 都一个个的正则表达式封装的
3. Filed()
父类的方法子类都可以调用
CharField() 子类
子类也有自己的方法
每个内置的字段都有自己的正则表达式匹配式
HTML 插件子类:TextInput(Input)
HTML 插件父类:Input
总结:HTML插件其实就是 一个一个的字符串拼接成的HTML代码
9.3 Django 内置HTML插件
9.3.1 Django 内置HTML插件简介
TextInput(Input)
NumberInput(TextInput)
EmailInput(TextInput)
URLInput(TextInput)
PasswordInput(TextInput)
HiddenInput(TextInput)
Textarea(Widget)
DateInput(DateTimeBaseInput)
DateTimeInput(DateTimeBaseInput)
TimeInput(DateTimeBaseInput)
CheckboxInput
Select
NullBooleanSelect
SelectMultiple
RadioSelect
CheckboxSelectMultiple
FileInput
ClearableFileInput
MultipleHiddenInput
SplitDateTimeWidget
SplitHiddenDateTimeWidget
SelectDateWidget
9.4 常用选择插件
9.4.1 常用选择插件详解
- 单radio
- 单select
- 多选select
- 单checkbox
- 多选checkbox
9.5 项目实例说明(有缘千里来相会网站)
9.5.1 项目实例说明(有缘千里来相会网站)
问:特殊的单选或多选时,数据源是否能实时更新?????
- 方式一:
模板:
视图:
表单:
总结:
9.1 Form类
9.2 Django内置字段(Field)
9.3 CharField() 子类
9.4 Django 内置HTML插件
9.5 常用选择插件
9.6 项目实例说明(有缘千里来相会网站)