我需要contrib.auth通过确保电子邮件字段条目是唯一的来修补标准用户模型:
User._meta.fields[4].unique = True
Run Code Online (Sandbox Code Playgroud)
代码中最好的位置在哪里?
我想避免使用数字字段[4].用户字段['email']更好,但字段不是字典,只是列表.
另一个想法可能是打开一个新票证并上传一个带有新参数的补丁settings.py:
AUTH_USER_EMAIL_UNIQUE = True
Run Code Online (Sandbox Code Playgroud)
有关在Django用户模型中实现电子邮件地址唯一性的最正确方法的任何建议吗?
当用户注册时,如何使Django用户电子邮件唯一?
表格
class SignUpForm(UserCreationForm):
email = forms.EmailField(required=True)
class Meta:
model = User
fields = ("username", "email", "password1", "password2")
def save(self, commit=True):
user = super(SignUpForm, self).save(commit=False)
user.email = self.cleaned_data["email"]
if commit:
user.save()
return user
Run Code Online (Sandbox Code Playgroud)
我正在使用django.contrib.auth.models用户。我是否需要在模型中覆盖用户。当前,该模型未引用用户。
views.py
class SignUp(generic.CreateView):
form_class = SignUpForm
success_url = reverse_lazy('login')
template_name = 'signup.html'
Run Code Online (Sandbox Code Playgroud)
感谢您的想法。