Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django:UserCreationForm如何验证用户名字段_Django_Django Forms - Fatal编程技术网

Django:UserCreationForm如何验证用户名字段

Django:UserCreationForm如何验证用户名字段,django,django-forms,Django,Django Forms,我有一个表格,可以由老板帐户访问,老板将使用此表格创建他的员工帐户 def EmployeeForm(forms.Form): username = forms.CharField(max_length = 16) def clean_username(self): if User.objects.filter(username = self.cleaned_data.get('username')).exists(): raise fo

我有一个表格,可以由老板帐户访问,老板将使用此表格创建他的员工帐户

def EmployeeForm(forms.Form):
    username = forms.CharField(max_length = 16)

    def clean_username(self):
        if User.objects.filter(username = self.cleaned_data.get('username')).exists():
            raise forms.ValidationError('A user with that user name already exists')
        return self.cleaned_data.get('username')

但问题是我现在不知道如何像UserCreationForm那样验证这个用户名字段,而且我非常确定确保用户名唯一性还不够

在表单验证中,您可以做一些简单的事情,如:
if User.objects.filter(username=username).exists():
如果为真,则返回一个错误。我确实这样做了,但sill不确定这是否足够。看看关于唯一电子邮件地址的内容,你可以用同样的方式想到唯一用户名,我知道如何清理和验证一个不是我的问题的特定字段我的问题是验证应该如何进行我很确定使这个字段唯一是不够的我需要使用与UserCreationForm完全相同的验证,我已经编辑了这个问题,并对用户名字段的唯一性进行了简单的验证,但正如我前面提到的,我认为这还不够,例如空格,我知道我应该如何在clean_用户名验证中处理它,但仍然不知道我需要考虑的所有情况是什么,为什么不将用户创建表单?不需要重新创建它。