Django 局部变量';密码1';分配前参考
所以我一直在关注Django文档中关于自定义用户模型(AbstractBaseUser)的示例。但当我从管理员网站创建用户时,它开始给我这个错误 “赋值前引用的局部变量'password1'” 下面我已经包含了admin.pyDjango 局部变量';密码1';分配前参考,django,python-3.x,django-forms,Django,Python 3.x,Django Forms,所以我一直在关注Django文档中关于自定义用户模型(AbstractBaseUser)的示例。但当我从管理员网站创建用户时,它开始给我这个错误 “赋值前引用的局部变量'password1'” 下面我已经包含了admin.py from django.contrib import admin from django import forms from django.contrib.auth.models import Group from django.contrib.auth.admin im
from django.contrib import admin
from django import forms
from django.contrib.auth.models import Group
from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from django.contrib.auth.forms import ReadOnlyPasswordHashField
class UserCreationForm(forms.ModelForm):
password1 = forms.CharField(label= 'Password' , widget =
forms.PasswordInput)
password2 = forms.CharField(label = 'Password Confirmation', widget =
forms.PasswordInput)
class Meta:
model = CustomUser
#with my added feilds in AbstractBaseUser
fields = ('email','first_name','last_name', 'Mobile',
'Aadhar_Card', 'Address','is_supervisor','is_employee','is_driver')
def clean_password2(self):
password1 = self.cleaned_data.get(password1)
password2 = self.cleaned_data.get(password2)
if password1 and password2 and password1 != password2:
raise forms.ValidationError("Passwords Dont Match")
return password2
def save(self, commit=True):
user = super().save(commit=False)
user.set_password(self.cleaned_data["password1"])
if commit:
user.save()
return user
您的
clean_password2
方法确实引用了未定义的变量。您需要使用字符串:
password1 = self.cleaned_data.get("password1")
password2 = self.cleaned_data.get("password2")
您的
clean_password2
方法确实引用了未定义的变量。您需要使用字符串:
password1 = self.cleaned_data.get("password1")
password2 = self.cleaned_data.get("password2")
我忘记了密码指的是变量而不是字符串。谢谢,我忘记了密码指的是变量而不是字符串。谢谢