Django-50-Form表单数据校验

本文介绍了Django中如何对form表单数据进行自定义验证。通过在forms类内部定义clean_开头的校验函数,可以实现对特定字段的判断。当数据不符合条件时,触发ValidationError,并返回正确格式的值。文中以用户名校验为例,详细阐述了视图函数、路由配置、模板页面的配合使用,展示了验证逻辑和异常处理。
摘要由CSDN通过智能技术生成

前言

Django的form表单类会自动对定义的字段有一些判断(必填),我们也可以定义自己的校验方式

 

表单自定义验证

必须写在forms类里面

校验函数名称必须是clean_字段名称(校验字段时,django会默认调用以clean开头的方法)

所有要校验的数据都可以通过clean_data.get(字段名称)得到

如果判断不符合条件,请诱发ValidationError

并且如果符合判断,必须将值返回出来

 

django_study.app01.forms.py 表单类(以用户名校验为例)

from django import forms

class RegisterForm(forms.Form):
    username = forms.CharField(max_length=32, label="用户名")
    password = forms.CharField(max_length=32,label="密码")
    nickname = forms.CharField(max_length=32,label="姓名")
    phone = forms.CharField(max_length=11,label="电话")
    email = forms.EmailField(label="邮箱")

    def clean_username(self):  # 定义username的校验方法
        username = 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值