Django学习系列之Form验证

简介:

基与上篇文章,在这里我们用3种方式来验证表单.

1.表单字段的验证器

详见:

from django.core.exceptions import ValidationError

def validate_nickname(value):
    if value == "badboy":
        raise ValidationError(u'%s is private,dont input' % value)
        
class Register(forms.Form):
    nickname = forms.CharField(max_length=20,label="昵称",help_text="请输入您的别名!",widget=forms.Te
xtInput(attrs={'class':'special','id':'nick'}),error_messages={'required':u'别名不能为空'},validators
=[validate_nickname])

结果:

wKioL1VbNxPCCpTGAAFFHw7nx10939.jpg

2.clean_filedname,验证字段

class Register(forms.Form):
    ..........................................
    def clean_username(self):
        username = self.cleaned_data.get('username')
        if username == "badboy":
            raise ValidationError(u'%s被使用了,请换个名字!' % username)
        else:
            return username

结果:

wKioL1VbOXWARHSLAAFKB8PxsZs615.jpg


3.表单clean方法

class Register(forms.Form):
............................................


    def clean(self):
        cleaned_data = super(Register,self).clean()
        nickname = cleaned_data.get('nickname')
        username = cleaned_data.get('username')
        if nickname == username:
            self._errors['username'] = self.error_class([u"别名与用户名不能一样!"])
        else:
            return cleaned_data


结果:

wKiom1VbO6jSVULUAAEjh_kTA_c921.jpg


通过以上3种方式,我们便可以做些表单的验证了,我觉得这3种方式,已经满足我的需求了.

供参考!



本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/1652953,如需转载请自行联系原作者

相关文章
|
存储 安全 网络协议
Python 教程之 Django(9)对模型中的字段进行验证
Python 教程之 Django(9)对模型中的字段进行验证
97 0
Python 教程之 Django(9)对模型中的字段进行验证
|
7月前
|
数据采集 中间件 Python
如何在Django框架中进行输入验证和过滤?
通过综合运用这些方法,可以在 Django 框架中有效地进行输入验证和过滤,提高应用的安全性和数据质量。同时,还可以根据具体的业务需求进一步扩展和定制验证逻辑。
214 65
|
编解码 前端开发 JavaScript
技术经验分享:Django学习日记
技术经验分享:Django学习日记
|
9月前
|
IDE 关系型数据库 MySQL
Django学习一:创建Django框架,介绍Django的项目结构和开发逻辑。创建应用,编写主包和应用中的helloworld
这篇文章是关于如何创建一个Django框架,介绍Django的项目结构和开发逻辑,并指导如何创建应用和编写“Hello, World!”程序的教程。
655 3
Django学习一:创建Django框架,介绍Django的项目结构和开发逻辑。创建应用,编写主包和应用中的helloworld
|
9月前
|
SQL Java 数据库
Django学习三:views业务层中通过models对实体对象进行的增、删、改、查操作。
这篇文章是关于如何使用Django框架的ORM系统在视图(views)层面进行数据库的增、删、改、查操作的教程。
87 0
Django学习三:views业务层中通过models对实体对象进行的增、删、改、查操作。
|
9月前
|
关系型数据库 MySQL Java
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
这篇文章是关于如何使用Django框架配置MySQL数据库,创建模型实例,并自动或手动创建数据库表,以及对这些表进行操作的详细教程。
308 0
Django学习二:配置mysql,创建model实例,自动创建数据库表,对mysql数据库表已经创建好的进行直接操作和实验。
|
存储 搜索推荐 数据库
Web实战丨基于Django与HTML的用户登录验证系统
Web实战丨基于Django与HTML的用户登录验证系统
412 1
|
JSON 数据库 数据格式
Django之Form组件
Django之Form组件
|
Python
Django 学习教程-介绍与安装
本章介绍了Django是什么,以及为什么使用Django和安装Django
140 1
Django 学习教程-介绍与安装
|
数据库 开发者 UED
如何使用Django的Form组件
如何使用Django的Form组件
153 0