Django之from.Form内置字段
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,又验证邮箱格式 |
|
|
GenericIPAddressField |
||
|
protocol='both', |
both,ipv4,ipv6支持的IP格式 |
|
|
unpack_ipv4=False |
解析ipv4地址,如果是::ffff:192.0.2.1时候,可解析为192.0.2.1, |
|
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内置字段的更多相关文章
- Django Form 内置字段
常用字段: Field required=True, 是否允许为空 widget=None, HTML插件 label=None, 用于生成Label标签或显示内容 initial=None, 初始值 ...
- {Django基础十之Form和ModelForm组件}一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 ModelForm
Django基础十之Form和ModelForm组件 本节目录 一 Form介绍 二 Form常用字段和插件 三 From所有内置字段 四 字段校验 五 Hook钩子方法 六 进阶补充 七 Model ...
- VS2019 开发Django(九)------内置模板和过滤器
导航:VS2019开发Django系列 紧接上篇,继续介绍Django中的模板,考虑可能篇幅过长,所以分为两部分来讲,今天的主要内容: 1)内置模板和过滤器 母版,继承关系.头部导航和页脚,是需要与其 ...
- django form 的内置字段类型
定义的form类如下: from django import forms from django.forms import widgets class AddHouseForm(forms.Form) ...
- Django Form 的主要内置字段介绍
修改 urls.py,添加 path('field.html', views.field), 在 templates 下创建 field.html, 内容如下: <!DOCTYPE html&g ...
- FORM内置系统函数
abort_query; 停止查询的执行 add_group_column(record grou ...
- Crusher Django Tutorial(5) 使用内置管理员系统
http://crusher-milling.blogspot.com/2013/09/crusher-django-tutorial5-using-admin.html 顺便学习一下FQ Crush ...
- FORM内置系统变量
常用 和输入焦点有关: SYSTEM.CURSOR_ITEM:返回系统当前正在操作的项名. SYSTEM.CURSOR_RECORD:返回系统当前正在操作的记录行号. SYSTEM.CURSOR_BL ...
- Django基础之form组件
Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来. 与此同时我们在好多场景下都需要对用户的输入做校验,比如校验用户是否 ...
随机推荐
- 超详细步骤---Linux下的最新Git版本安装
原文地址:https://blog.csdn.net/u010887744/article/details/53957613 [标注大头] 1.查看当前git版本:git --version 查看最新 ...
- Ubuntu 之 win10更新ubuntu启动项消失
问题描述: 昨晚windows更新,今天启动的时候发现启动项没有了,直接进入windows. 解决方案一: 首先进入BIOS看一看是否开启启动项选择,然后再把安全模式(secure boot)关闭(重 ...
- 工程师泄露5G核心技术文档 被判有期徒刑三年缓刑四年
2002 年至 2017 年 1 月,黄某瑜就职于中兴通讯公司,担任过射频工程师.无线架构师等职务.2008 年 4 月至 2016 年 10 月,王某就职于中兴通讯公司西安研究所,担任过 RRU 部 ...
- JS点击按钮,提示确认后跳转网页,并可传递参数
综合参考: http://jingyan.baidu.com/article/47a29f242b180ac0142399f9.html http://blog.csdn.net/hshl1214/a ...
- Forrester:开源APM发展势头强劲
在企业的运营团队看来,系统的稳定性和可靠运行时间是至关重要的.因此,企业更乐意向能够负责的技术提供商购买开发完整的.有文档记录的,并且有售后支持的工具或软件. 一般来说,运营团队没有额外精力来应付新奇 ...
- zabbix3.x.x升级教程
1:停掉正在运行的zabbix服务,确保没有新数据写入数据库. /etc/init.d/zabbix_server stop 2:备份原zabbix的数据库数据,以及相关文件. mysqldump - ...
- Nginx SSL/HTTPS 配置
使用OpenSSL生成证书 1.生成RSA密钥的方法 openssl genrsa -des3 -out privkey.pem 2048 这个命令会生成一个2048位的密钥,同时有一个des3方法加 ...
- 如何在Vue项目中优雅的使用sass
开始之前,请先确保有一个基于webpack模板的项目(vue-cli脚手架一键安装~) 1.打开项目终端,安装sass的依赖包 npm install --save-dev sass-loader / ...
- 前端程序员难翻身,没有好的学习方法,你永远无法成功,vue.js专题
学习vue正确思路,是先学vue-cli,再学vue.js单文件引用的用法,这样会在极短时间内撤底撑握vue, 如果先学vue.js单文件用法,再去学vue-cli4,可以说是重新学vue,,,,难处 ...
- 编程语言50年来的变化,我用50种编程语言告诉你“Hello world”怎么写!
当我们学习一门新的语言时,"Hello, World!"通常是我们所写的第一个程序. 因此,所有程序员在职业生涯中至少完成了"Hello, World!"程序员 ...