学神python全栈学习笔记---9 Django Form表单-2

第九章  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  常用选择插件详解

  1. 单radio

      

 

 

  1. 单select

 

 

       

       

  1. 多选select

 

  1. 单checkbox

      

  1. 多选checkbox

      

 

9.5  项目实例说明(有缘千里来相会网站)

9.5.1  项目实例说明(有缘千里来相会网站)

问:特殊的单选或多选时,数据源是否能实时更新?????

  1. 方式一:

模板:

 

视图:

表单:

总结:

9.1  Form类

9.2  Django内置字段(Field)

9.3  CharField() 子类

9.4  Django 内置HTML插件

9.5  常用选择插件

9.6  项目实例说明(有缘千里来相会网站)

猜你喜欢

转载自blog.csdn.net/weixin_35264169/article/details/81630929