Django实现表单验证

  

本文实例为大家分享了Django实现表单验证的具体代码,供大家参考,具体内容如下

  

模型。py
  

        类用户(models.Model):   昵称=模型。null=False CharField (max_length=16日,空白=False,独特的=True)   电子邮件=模型。EmailField (max_length=32岁零=False,空白=False,独特的=True)   密码=模型。CharField (max_length=64,零=False,空白=False)   头=models.ImageField(默认=" decault.png”)   年龄=models.CharField (max_length=3,空白=True, null=True)   性别=模型。CharField (max_length=2,空白=True, null=True)   isactivate=models.BooleanField(默认=False)      def保存(自我):   如果不是self.password.startswith (“pbkdf2_”):   自我。密码=make_password (self.password)   super () .save ()      

的形式。py
  

        从django导入形式   从django.core。异常进口ValidationError      从用户。模型导入用户      #定义验证器   def nickname_validate(昵称):   u=Users.objects.filter(昵称=昵称)   如果len (u):   打印(len (u))   提高ValidationError(“用户名已存在的)      #定义表单   类RegisterForm (forms.Form):   昵称=forms.CharField(验证器=[nickname_validate],   标签='用户名”,   max_length=16,   min_length=4,   要求=True,   小部件=forms.TextInput (),   )      密码=forms.CharField(标签='密码”,   max_length=64,   min_length=6,   要求=True,   小部件=forms.PasswordInput ())      电子邮件=forms.EmailField(标签='邮箱”,   max_length=32,   需要=True)      年龄=forms.CharField(标签='年龄”,   max_length=3,   需要=False)      性别=forms.ChoiceField(标签='性别”,   选择=((0,“男”),(1,'女')),   需要=False)      

view.py         从用户。形式进口RegisterForm   从用户。模型导入用户      def寄存器(请求):   如果请求。方法==癙OST”:   形式=RegisterForm (request.POST)   如果form.is_valid ():   u=用户()   u。昵称=form.cleaned_data(“昵称”)   u。电子邮件=form.cleaned_data(“电子邮件”)   u。密码=form.cleaned_data['密码']   u。年龄=form.cleaned_data(“年龄”)   u。性别=form.cleaned_data(“性”)   u.save ()   返回渲染(请求,“user_info.html”)   其他:   返回渲染(请求,”注册。html的,上下文={“形式”:形式,“错误”:form.errors})   其他:   形式=RegisterForm ()   返回渲染(请求、“register.html”上下文={}“形式”:形式)      

register.html         & lt; !DOCTYPE html>   & lt; html lang=癳n”比;   & lt; head>   & lt;元charset=皍tf - 8”比;   & lt; title>注册& lt;/title>   & lt;/head>   & lt; body>   & lt;形式类="形式" action=" {% url的用户:注册%}”方法=皃ost”比;   {% csrf_token %}   & lt; table>   {{形式。as_p}}   & lt;/table>   & lt;按钮类型=疤峤弧眂lass=癰tn btn-primary btn-block”祝辞注册   & lt;/button>   & lt;输入类型=耙亍钡拿?跋乱桓觥眝alue=" https://www.yisu.com/zixun/{{一}}"/比;   & lt;/form>   & lt;/body>   & lt;/html>   之前      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

Django实现表单验证