django 表单

django 表单

django表单的作用

在Django中的表单,主要有两个功能:

  1. 渲染表单模板(只有前后端不分离时才有可能使用,一般情况不用)。
  2. 表单验证数据是否合法。

验证数据基本用法

  1. app/forms.py中定义表单验证类,根据前台提交的每个字段定义对应的属性进行验证。
  2. 实例化表单验证类(传入前台提交的参数)。
  3. 通过form.is_valid()校验提交的参数。
  4. 如果校验成功,则从form.cleaned_data中获取前台提交的参数。
  5. 如果校验失败,则从form.errors中获取错误信息,form.errors获取的html格式的错误信息,可以通过form.errors.get_json_data()获取字典格式的错误信息。
    在这里插入图片描述
    自定义错误信息
    通过Field的error_messages属性定义每个校验的错误信息。如下:
    在这里插入图片描述

常用的Field

CharField:

用来接收文本。
参数:
max_length:这个字段值的最大长度。
min_length:这个字段值的最小长度。
required:这个字段是否是必须的。默认是必须的。
error_messages:在某个条件验证失败的时候,给出错误信息。

EmailField:

用来接收邮件,会自动验证邮件是否合法。
错误信息的key:required、invalid。

FloatField:

用来接收浮点类型,并且如果验证通过后,会将这个字段的值转换为浮点类型。
参数:
max_value:最大的值。
min_value:最小的值。
required:这个字段是否是必须的。默认是必须的。
错误信息的key:required、invalid、max_value、min_value。

IntegerField:

用来接收整形,并且验证通过后,会将这个字段的值转换为整形。
参数:
max_value:最大的值。
min_value:最小的值。
错误信息的key:required、invalid、max_value、min_value。

URLField:

用来接收url格式的字符串。
错误信息的key:required、invalid。

常用验证器

在验证某个字段的时候,可以传递一个validators参数用来指定验证器,进一步对数据进行过滤。
很多验证器其实通过Field或者一些参数就可以指定。比如EmailValidator,可以通过EmailField来指定,比如MaxValueValidator,可以通过max_value参数来指定。

  1. MaxValueValidator:验证最大值。
  2. MinValueValidator:验证最小值。
  3. MinLengthValidator:验证最小长度。
  4. MaxLengthValidator:验证最大长度。
  5. EmailValidator:验证是否是邮箱格式。
  6. URLValidator:验证是否是URL格式。
  7. RegexValidator:如果还需要更加复杂的验证,那么可以通过正则表达式的验证器:RegexValidator。

如下: 验证手机号码的正则表达式验证器。
在这里插入图片描述

自定义验证字段的方法

在注册的表单验证中,我们想要验证手机号码是否已经被注册过了,那么这时候就需要在数据库中进行判断才知道。
对某个字段进行自定义的验证方式是,定义一个方法,这个方法的名字定义规则是:clean_fieldname。如果验证失败,那么就抛出一个验证错误。

校验单个属性

如下:定义clean_属性名的方法针对单个属性进行校验
在这里插入图片描述

校验多个属性

如下: 重写父类的clean方法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值