• Django中form组件的所有内置字段


      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     validators=[],               自定义验证规则
      9     localize=False,              是否支持本地化
     10     disabled=False,              是否可以编辑
     11     label_suffix=None            Label内容后缀
     12  
     13  
     14 CharField(Field)
     15     max_length=None,             最大长度
     16     min_length=None,             最小长度
     17     strip=True                   是否移除用户输入空白
     18  
     19 IntegerField(Field)
     20     max_value=None,              最大值
     21     min_value=None,              最小值
     22  
     23 FloatField(IntegerField)
     24     ...
     25  
     26 DecimalField(IntegerField)
     27     max_value=None,              最大值
     28     min_value=None,              最小值
     29     max_digits=None,             总长度
     30     decimal_places=None,         小数位长度
     31  
     32 BaseTemporalField(Field)
     33     input_formats=None          时间格式化   
     34  
     35 DateField(BaseTemporalField)    格式:2015-09-01
     36 TimeField(BaseTemporalField)    格式:11:12
     37 DateTimeField(BaseTemporalField)格式:2015-09-01 11:12
     38  
     39 DurationField(Field)            时间间隔:%d %H:%M:%S.%f
     40     ...
     41  
     42 RegexField(CharField)
     43     regex,                      自定制正则表达式
     44     max_length=None,            最大长度
     45     min_length=None,            最小长度
     46     error_message=None,         忽略,错误信息使用 error_messages={'invalid': '...'}
     47  
     48 EmailField(CharField)      
     49     ...
     50  
     51 FileField(Field)
     52     allow_empty_file=False     是否允许空文件
     53  
     54 ImageField(FileField)      
     55     ...
     56     注:需要PIL模块,pip3 install Pillow
     57     以上两个字典使用时,需要注意两点:
     58         - form表单中 enctype="multipart/form-data"
     59         - view函数中 obj = MyForm(request.POST, request.FILES)
     60  
     61 URLField(Field)
     62     ...
     63  
     64  
     65 BooleanField(Field)  
     66     ...
     67  
     68 NullBooleanField(BooleanField)
     69     ...
     70  
     71 ChoiceField(Field)  #简单的性别选项 适用于不用查询数据库数据
     72     ...
     73     choices=(),                选项,如:choices = ((0,'上海'),(1,'北京'),)
     74     required=True,             是否必填
     75     widget=None,               插件,默认select插件
     76     label=None,                Label内容
     77     initial=None,              初始值
     78     help_text='',              帮助提示
     79  
     80  
     81 ModelChoiceField(ChoiceField)    #单项选择
     82     ...                        django.forms.models.ModelChoiceField
     83     queryset,                  # 查询数据库中的数据
     84     empty_label="---------",   # 默认空显示内容
     85     to_field_name=None,        # HTML中value的值对应的字段
     86     limit_choices_to=None      # ModelForm中对queryset二次筛选
     87      
     88 ModelMultipleChoiceField(ModelChoiceField)  #多项选择
     89     ...                        django.forms.models.ModelMultipleChoiceField
     90  
     91  
     92      
     93 TypedChoiceField(ChoiceField)
     94     coerce = lambda val: val   对选中的值进行一次转换
     95     empty_value= ''            空值的默认值
     96  
     97 MultipleChoiceField(ChoiceField)
     98     ...
     99  
    100 TypedMultipleChoiceField(MultipleChoiceField)
    101     coerce = lambda val: val   对选中的每一个值进行一次转换
    102     empty_value= ''            空值的默认值
    103  
    104 ComboField(Field)
    105     fields=()                  使用多个验证,如下:即验证最大长度20,又验证邮箱格式
    106                                fields.ComboField(fields=[fields.CharField(max_length=20), fields.EmailField(),])
    107  
    108 MultiValueField(Field)
    109     PS: 抽象类,子类中可以实现聚合多个字典去匹配一个值,要配合MultiWidget使用
    110  
    111 SplitDateTimeField(MultiValueField)
    112     input_date_formats=None,   格式列表:['%Y--%m--%d', '%m%d/%Y', '%m/%d/%y']
    113     input_time_formats=None    格式列表:['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
    114  
    115 FilePathField(ChoiceField)     文件选项,目录下文件显示在页面中
    116     path,                      文件夹路径
    117     match=None,                正则匹配
    118     recursive=False,           递归下面的文件夹
    119     allow_files=True,          允许文件
    120     allow_folders=False,       允许文件夹
    121     required=True,
    122     widget=None,
    123     label=None,
    124     initial=None,
    125     help_text=''
    126  
    127 GenericIPAddressField
    128     protocol='both',           both,ipv4,ipv6支持的IP格式
    129     unpack_ipv4=False          解析ipv4地址,如果是::ffff:192.0.2.1时候,可解析为192.0.2.1, PS:protocol必须为both才能启用
    130  
    131 SlugField(CharField)           数字,字母,下划线,减号(连字符)
    132     ...
    133  
    134 UUIDField(CharField)           uuid类型
    135 复制代码
  • 相关阅读:
    以用户名注册来分析三种Action获取数据的方式
    Struts2中的OGNL详解 《转》
    Module 'null' not found异常解决办法
    struts标签<logic:iterate>的用法
    struts2的核心和工作原理 <转>
    jstl标签怎么实现分页中下一页
    forward 和redirect
    forward 和redirect的区别
    今天早上起来就想着要问问龙虎有圆通没
    昨天晚上回来弄了两个皮蛋吃
  • 原文地址:https://www.cnblogs.com/wen-kang/p/9634689.html
Copyright © 2020-2023  润新知