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)

最新文章

  1. linux中rz中的-e选项
  2. WEB安全:XSS漏洞与SQL注入漏洞介绍及解决方案(转)
  3. 浅析 Linux 初始化 init 系统
  4. Linux_用户级_常用命令(2):cd
  5. extracting lines bases a list using awk
  6. Linux使用网盘客户端
  7. xp-win7-win8的基础到精通教程-系统优化减肥教程-windos装mac
  8. POJ 2104&HDU 2665 Kth number(主席树入门+离散化)
  9. extjs 4.2 日期控件 选择时分秒功能
  10. DHCP Server软件使用教程
  11. HDU 1058 Humble Numbers【DP】
  12. How to Install and Configure Nginx from Source on centos--转
  13. powershell 查看程序的tcp网络连接
  14. Linux开发工具之gdb(下)
  15. 数据库索引的实现原理(笔记)详细http://www.linezing.com/blog/?p=798#nav-1
  16. 【转】Shell执行MySql操作
  17. Android Wear开发
  18. 【Spring】13、使用Spring 3的@value简化配置文件的读取
  19. RestTemplate将响应数据转换为具有泛型的类对象
  20. IPsec学习笔记

热门文章

  1. Xtrabackup全量 增量备份详解
  2. 【linux三剑客】grep命令
  3. Spark 源码系列(六)Shuffle 的过程解析
  4. [mysql]linux mysql 读写分离
  5. JAVA学习之路 (五) 类
  6. Xapian实战(二):core concepts
  7. POJ 2054 Color a Tree解题报告
  8. POJ - 3074 Sudoku (搜索)剪枝+位运算优化
  9. 无向图求割(找桥)tarjan
  10. 学习笔记之pip的基本使用