码迷,mamicode.com
首页 > 其他好文 > 详细

关于django form验证是否用户名已存在

时间:2018-09-26 17:17:50      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:遍历   class   list   生成   name   输入   reg   value   def   

想通过django的Form模块进行数据库中是否已存在用户名的验证,首先我先调用了数据库用户名字段所有的值,发现是个queryset对象。

随后经过查询后发现queryset查询集对象可以调用list工厂方法后,生成一个类似于[(‘user_name_1‘,‘username_2‘)]的对象,随即把列表中的元组对象拿出来进行遍历,完成验证,form代码如下:

class Registerform(forms.Form):
    user_name = forms.CharField(label=你的姓名, max_length=10,error_messages={
        
    })
    user_psd = forms.CharField(label=你的密码,widget=forms.PasswordInput())
    user_psd2 = forms.CharField(label=请再次输入你的密码,widget=forms.PasswordInput())
    email = forms.EmailField(label=你的邮件地址,widget=forms.TextInput)
    def clean(self):
        cleaned_data = self.cleaned_data
        pwd = self.cleaned_data[user_psd]
        pwd2 =self.cleaned_data[user_psd2]
        user_form = self.cleaned_data[user_name]
        user_model = list(models.User_info.objects.all().values_list(user_name))
        for i in user_model:#此步i为类似(username_1,username_2,)的元组对象 
            print(user_form)
            if user_form in i:
                raise forms.ValidationError(用户名已存在,请重新尝试登录)
        if pwd!=pwd2:
            raise forms.ValidationError(两次输入的密码不匹配)
        return cleaned_data


 

 

关于django form验证是否用户名已存在

标签:遍历   class   list   生成   name   输入   reg   value   def   

原文地址:https://www.cnblogs.com/zxmbky/p/9707582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!