【发布时间】:2023-03-04 17:55:02
【问题描述】:
当我从视图中打印我的密码时,它在我的命令提示符中显示非 我在 forms.py 中只使用 password1 我把 pass2=none
Models.py:-
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
bio = models.TextField(max_length=500, blank=True)
location = models.CharField(max_length=30, blank=True)
birth_date = models.DateField(null=True, blank=True)
gender = models.CharField(max_length=10,blank=True)
def __str__(self):
return self.fullname
Forms.py:-
class UserForm(forms.ModelForm):
username = forms.CharField(widget=forms.TextInput(attrs={'class':'validate','placeholder': 'Enter Username'}))
password1 = forms.CharField(widget=forms.PasswordInput(attrs={'placeholder':'Enter Password'}))
email=forms.EmailField(widget=forms.TextInput(attrs={'placeholder':'Enter Email'}))
password2=None
class Meta:
model=User
fields=['username','password1','email']
class ProfileForm(forms.ModelForm):
fullname = forms.CharField(widget=forms.TextInput(attrs={'placeholder':'Enter fullname'}))
class Meta:
model=Profile
fields=['fullname']
views.py:-
def register(request):
if request.method =='POST':
form = UserForm(request.POST)
profile_form = ProfileForm(request.POST)
if form.is_valid() and profile_form.is_valid():
user=form.save()
profile=profile_form.save(commit=False)
profile.user=user
profile.save()
username= form.cleaned_data.get('username')
password= form.cleaned_data.get('password')
print(username)
print(password)
messages.success(request,f'account created for {{ username }}')
return redirect('home')
else:
form = UserForm()
profile_form = ProfileForm()
context={'form':form , 'profile_form':profile_form}
return render(request, 'users/register.html',context)
**当我在视图中打印我的密码时,它显示 None.also 我只使用密码1 **
【问题讨论】:
-
password= form.cleaned_data.get('password')->password= form.cleaned_data.get('password1')您的字段名为password1,您尝试从不存在的password字段中获取数据。 -
@h4z3 我修复了它,但它没有将数据存储在数据库(我使用 mysql)和管理面板中。
-
我相信因为 User 模型要验证密码,password1 和 password2 必须相等。
-
@Aerials 如果我不提供密码 2 怎么办?
-
@RamPatil 将表单中密码字段的名称从
password1更改为password
标签: python django forms django-models view