from django import forms

Field

required=True,

是否允许为空

widget=None,

HTML插件

label=None,

用于生成Label标签或显示内容

initial=None,

初始值

help_text='',

帮助信息(在标签旁边显示)

error_messages=None,

错误信息 {'required': '不能为空', 'invalid': '格式错误'}

validators=[],

自定义验证规则

localize=False,

是否支持本地化

disabled=False,

是否可以编辑

label_suffix=None

Label内容后缀

CharField(Field)

字符串

max_length=None,

最大长度

min_length=None,

最小长度

strip=True

是否移除用户输入空白

IntegerField(Field)

整数

max_value=None,

最大值

min_value=None,

最小值

FloatField(IntegerField)

浮点数

DecimalField(IntegerField)

max_value=None,

最大值

min_value=None,

最小值

max_digits=None,

总长度

decimal_places=None,

小数位长度

input_formats=None

时间格式化

ChoiceField(Field)

单选

choices=(),

选项,如:choices = ((0,'上海'),(1,'北京'),)

required=True,

是否必填

widget=None,

插件,默认select插件

label=None,

Label内容

initial=None,

初始值

help_text='',

帮助提示

ModelChoiceField(ChoiceField)

单选,通过orm操作读取数据

queryset,

# 查询数据库中的数据(类中必须定义__str__方法)

empty_label="---------",

# 默认空显示内容

to_field_name=None,

# HTML中value的值对应的字段

limit_choices_to=None

# ModelForm中对queryset二次筛选

MultipleChoiceField(ChoiceField)

多选

ModelMultipleChoiceField(ModelChoiceField)

多选,通过orm操作读取数据,类似单选

FileField(Field)

allow_empty_file=False     是

否允许空文件

EmailField(CharField)

邮箱

ImageField(FileField)

注:需要PIL模块,pip3 install Pillow

以上两个字典使用时,需要注意两点:

- form表单中 enctype="multipart/form-data"

- view函数中 obj = MyForm(request.POST, request.FILES)

RegexField(CharField)

正则

regex,

自定制正则表达式

max_length=None,

最大长度

min_length=None,

最小长度

error_message=None,

忽略,错误信息使用 error_messages={'invalid': '...'}

SplitDateTimeField(MultiValueField)

input_date_formats=None,

格式列表:['%Y--%m--%d', '%m%d/%Y', '%m/%d/%y']

input_time_formats=None

格式列表:['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']

TypedChoiceField(ChoiceField)

coerce = lambda val: val

对选中的值进行一次转换

empty_value= ''

空值的默认值

TypedMultipleChoiceField(MultipleChoiceField)

coerce = lambda val: val

对选中的每一个值进行一次转换

empty_value= ''

空值的默认值

FilePathField(ChoiceField)

文件选项,目录下文件显示在页面中

path,

文件夹路径

match=None,

正则匹配

recursive=False,

递归下面的文件夹

allow_files=True,

允许文件

allow_folders=False,

允许文件夹

required=True,

widget=None,

label=None,

initial=None,

help_text=''

ComboField(Field)

fields=()

使用多个验证,如下:即验证最大长度20,又验证邮箱格式
fields.ComboField(fields=[fields.CharField(max_length=20),
fields.EmailField(),])

GenericIPAddressField

protocol='both',

both,ipv4,ipv6支持的IP格式

unpack_ipv4=False

解析ipv4地址,如果是::ffff:192.0.2.1时候,可解析为192.0.2.1,
PS:protocol必须为both才能启用

MultiValueField(Field)

PS: 抽象类,子类中可以实现聚合多个字典去匹配一个值,要配合MultiWidget使用

DateField(BaseTemporalField)

格式:2015-09-01

TimeField(BaseTemporalField)

格式:11:12

DateTimeField(BaseTemporalField)

格式:2015-09-01 11:12

DurationField(Field)

时间间隔:%d %H:%M:%S.%f

SlugField(CharField)

数字,字母,下划线,减号(连字符)

UUIDField(CharField)

uuid类型

URLField(Field)

BooleanField(Field)

NullBooleanField(BooleanField)

BaseTemporalField(Field)

Django之from.Form内置字段的更多相关文章

  1. Django Form 内置字段

    常用字段: Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 ...

  2. {Django基础十之Form和ModelForm组件}一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 ModelForm

    Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Model ...

  3. VS2019 开发Django(九)------内置模板和过滤器

    导航:VS2019开发Django系列 紧接上篇,继续介绍Django中的模板,考虑可能篇幅过长,所以分为两部分来讲,今天的主要内容: 1)内置模板和过滤器 母版,继承关系.头部导航和页脚,是需要与其 ...

  4. django form 的内置字段类型

    定义的form类如下: from django import forms from django.forms import widgets class AddHouseForm(forms.Form) ...

  5. Django Form 的主要内置字段介绍

    修改 urls.py,添加 path('field.html', views.field), 在 templates 下创建 field.html, 内容如下: <!DOCTYPE html&g ...

  6. FORM内置系统函数

    abort_query;                                                    停止查询的执行 add_group_column(record grou ...

  7. Crusher Django Tutorial(5) 使用内置管理员系统

    http://crusher-milling.blogspot.com/2013/09/crusher-django-tutorial5-using-admin.html 顺便学习一下FQ Crush ...

  8. FORM内置系统变量

    常用 和输入焦点有关: SYSTEM.CURSOR_ITEM:返回系统当前正在操作的项名. SYSTEM.CURSOR_RECORD:返回系统当前正在操作的记录行号. SYSTEM.CURSOR_BL ...

  9. Django基础之form组件

    Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...

随机推荐

  1. QString 转换成 wchar 的一个小陷阱

    QString::toWCharArray(wchar_t * array) 其中 wchar_t * array 除了要分配内存之外,必须用 wmemset 初始化. 环境是 Visual Stud ...

  2. PIL库的学习总结及生成GIF

    一.PIL库的概述 PIL(Python Image Library)库是Python语言的第三方库,需要通过pip工具安装. 打开cmd,输入 pip install pillow PIL库支持图像 ...

  3. 【Linux网络基础】上网原理流程

    1. 局域网用户上网原理 上网过程说明: 确保物理设备和线路架构准备完毕,并且线路通讯状态良好 终端设备需要获取或配置上局域网(私有地址)地址,作为局域网网络标识 当终端设备想上网时,首先确认访问的地 ...

  4. Leo2DNT(雷傲论坛转DiscuzNT)1.0转换程序发布

    数据转换程序 雷傲论坛(Leobbs4.x) -> Discuz!NT V1.0    本转换程序基于Leobbs4.x设计     声明: 1.本程序只对数据作转换,不会对原来的雷傲论坛(数据 ...

  5. C++编程入门题目--No.2

    题目:企业发放的奖金根据利润提成.利润(I)低于或等于10万元时,奖金可提10%:利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%:20万到4 ...

  6. String(字符串) 比较大小 如果有A+B>B+A 则A>B

    题目引入: 给定N个整数,那任意顺序排列连成一个数,得到的最大的数是多少? 分析:贪心,字典序排序,都不对大小比较也不对,今天我跟别人想了很久绞尽脑汁,各种模拟都失败了.最后才发现对于俩个数a=313 ...

  7. Codeforce 1098-A

    A. Sum in the tree   Mitya has a rooted tree with nn vertices indexed from 11 to nn, where the root ...

  8. andorid jar/库源码解析之错误提示

    目录:andorid jar/库源码解析 错误: 错误1: Error: Static interface methods are only supported starting with Andro ...

  9. GoF23:设计模式概述

    目录 学习设计模式的意义 GoF23 创建型模式(5种) 结构型模式(7种) 行为型模式(11种) OOP七大原则 开闭原则(总的纲领) 里氏替换原则 依赖倒置原则 单一职责原则 接口隔离原则 迪米特 ...

  10. Java 常用API(一)

    目录 Java 常用API(一) 1. Scanner类 引用类型的一般使用步骤 Scanner的使用步骤 例题 2. 匿名对象 概述 匿名对象作为方法的参数 匿名对象作为方法的返回值 3. Rand ...