Form组件归类

Form组件归类,第1张

概述Form组件归类 一、Form类 创建Form类时,主要涉及到 【字段】 和 【插件】,字段用于对用户请求数据的验证,插件用于自动生成HTML; 1、Django内置字段如下: 1 Field 2 required=True, 是否允许为空 3 widget=None, HTML插件 4 label Form组件归类

一、Form类

创建Form类时,主要涉及到 【字段】 和 【插件】,字段用于对用户请求数据的验证,插件用于自动生成HTML;

1、Django内置字段如下:

  1 FIEld  2     required=True,是否允许为空  3     Widget=None,HTML插件  4     label=None,用于生成Label标签或显示内容  5     initial=None,初始值  6     help_text=‘‘,帮助信息(在标签旁边显示)  7     error_messages=None,错误信息 {required: 不能为空,invalID: 格式错误}  8     show_hIDden_initial=False,是否在当前插件后面再加一个隐藏的且具有默认值的插件(可用于检验两次输入是否一直)  9     valIDators=[],自定义验证规则 10     localize=False,是否支持本地化 11     Disabled=False,是否可以编辑 12     label_suffix=None            Label内容后缀 13   14   15 CharFIEld(FIEld) 16     max_length=None,最大长度 17     min_length=None,最小长度 18     strip=True                   是否移除用户输入空白 19   20 IntegerFIEld(FIEld) 21     max_value=None,最大值 22     min_value=None,最小值 23   24 floatFIEld(IntegerFIEld) 25     ... 26   27 DecimalFIEld(IntegerFIEld) 28     max_value=None,最大值 29     min_value=None,最小值 30     max_digits=None,总长度 31     decimal_places=None,小数位长度 32   33 BaseTemporalFIEld(FIEld) 34     input_formats=None          时间格式化    35   36 DateFIEld(BaseTemporalFIEld)    格式:2015-09-01 37 TimeFIEld(BaseTemporalFIEld)    格式:11:12 38 DateTimeFIEld(BaseTemporalFIEld)格式:2015-09-01 11:12 39   40 DurationFIEld(FIEld)            时间间隔:%d %H:%M:%s.%f 41     ... 42   43 RegexFIEld(CharFIEld) 44     regex,自定制正则表达式 45     max_length=None,最大长度 46     min_length=None,最小长度 47     error_message=None,忽略,错误信息使用 error_messages={invalID: ...} 48   49 EmailFIEld(CharFIEld)       50     ... 51   52 fileFIEld(FIEld) 53     allow_empty_file=False     是否允许空文件 54   55 ImageFIEld(fileFIEld)       56     ... 57     注:需要PIL模块,pip3 install Pillow 58     以上两个字典使用时,需要注意两点: 59         - form表单中 enctype="multipart/form-data" 60         - vIEw函数中 obj = MyForm(request.POST,request.fileS) 61   62 URLFIEld(FIEld) 63     ... 64   65   66 BooleanFIEld(FIEld)   67     ... 68   69 NullBooleanFIEld(BooleanFIEld) 70     ... 71   72 ChoiceFIEld(FIEld) 73     ... 74     choices=(),选项,如:choices = ((0,上海),(1,北京),) 75     required=True,是否必填 76     Widget=None,插件,默认select插件 77     label=None,Label内容 78     initial=None,初始值 79     help_text=‘‘,帮助提示 80   81   82 ModelChoiceFIEld(ChoiceFIEld) 83     ...                        django.forms.models.ModelChoiceFIEld 84     queryset,# 查询数据库中的数据 85     empty_label="---------",# 默认空显示内容 86     to_fIEld_name=None,# HTML中value的值对应的字段 87     limit_choices_to=None      # ModelForm中对queryset二次筛选 88       89 ModelMultipleChoiceFIEld(ModelChoiceFIEld) 90     ...                        django.forms.models.ModelMultipleChoiceFIEld 91   92   93       94 TypedChoiceFIEld(ChoiceFIEld) 95     coerce = lambda val: val   对选中的值进行一次转换 96     empty_value= ‘‘            空值的默认值 97   98 MultipleChoiceFIEld(ChoiceFIEld) 99     ...100  101 TypedMultipleChoiceFIEld(MultipleChoiceFIEld)102     coerce = lambda val: val   对选中的每一个值进行一次转换103     empty_value= ‘‘            空值的默认值104  105 ComboFIEld(FIEld)106     fIElds=()                  使用多个验证,如下:即验证最大长度20,又验证邮箱格式107                                fIElds.ComboFIEld(fIElds=[fIElds.CharFIEld(max_length=20),fIElds.EmailFIEld(),])108  109 MultiValueFIEld(FIEld)110     PS: 抽象类,子类中可以实现聚合多个字典去匹配一个值,要配合MultiWidget使用111  112 SplitDateTimeFIEld(MultiValueFIEld)113     input_date_formats=None,格式列表:[%Y--%m--%d,%m%d/%Y,%m/%d/%y]114     input_time_formats=None    格式列表:[%H:%M:%s,%H:%M:%s.%f,%H:%M]115  116 filePathFIEld(ChoiceFIEld)     文件选项,目录下文件显示在页面中117     path,文件夹路径118     match=None,正则匹配119     recursive=False,递归下面的文件夹120     allow_files=True,允许文件121     allow_folders=False,允许文件夹122     required=True,123     Widget=None,124     label=None,125     initial=None,126     help_text=‘‘127  128 GenericIPAddressFIEld129     protocol=both,both,ipv4,ipv6支持的IP格式130     unpack_ipv4=False          解析ipv4地址,如果是::ffff:192.0.2.1时候,可解析为192.0.2.1, PS:protocol必须为both才能启用131  132 SlugFIEld(CharFIEld)           数字,字母,下划线,减号(连字符)133     ...134  135 UUIDFIEld(CharFIEld)           uuID类型136     ...

 

2、Django内置插件如下:

Textinput(input)Numberinput(Textinput)Emailinput(Textinput)URLinput(Textinput)Passwordinput(Textinput)HIDdeninput(Textinput)Textarea(Widget)Dateinput(DateTimeBaseinput)DateTimeinput(DateTimeBaseinput)Timeinput(DateTimeBaseinput)CheckBoxinputSelectNullBooleanSelectSelectMultipleRadioSelectCheckBoxSelectMultiplefileinputClearablefileinputMultipleHIDdeninputSplitDateTimeWidgetSplitHIDdenDateTimeWidgetSelectDateWidget

 

3、常用选择插件

# 单radio,值为字符串# user = fIElds.CharFIEld(#     initial=2,#     Widget=Widgets.RadioSelect(choices=((1,‘上海‘),(2,‘北京‘),))# ) # 单radio,值为字符串# user = fIElds.ChoiceFIEld(#     choices=((1,),#     initial=2,#     Widget=Widgets.RadioSelect# ) # 单select,值为字符串# user = fIElds.CharFIEld(#     initial=2,#     Widget=Widgets.Select(choices=((1,))# ) # 单select,值为字符串# user = fIElds.ChoiceFIEld(#     choices=((1,#     Widget=Widgets.Select# ) # 多选select,值为列表# user = fIElds.MultipleChoiceFIEld(#     choices=((1,#     initial=[1,],#     Widget=Widgets.SelectMultiple# )  # 单checkBox# user = fIElds.CharFIEld(#     Widget=Widgets.CheckBoxinput()# )  # 多选checkBox,值为列表# user = fIElds.MultipleChoiceFIEld(#     initial=[2,#     choices=((1,#     Widget=Widgets.CheckBoxSelectMultiple# )

总结

以上是内存溢出为你收集整理的Form组件归类全部内容,希望文章能够帮你解决Form组件归类所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1190800.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存