【发布时间】:2018-10-02 03:37:53
【问题描述】:
我正在 django 中做一个小密码确认表单。但我很困惑,因为 self.cleaned_data.get('confirm_password') 总是不返回任何内容,因此我的密码永远不会相互匹配。
这是forms.py 中的clean 方法
def clean_password(self):
password = self.cleaned_data.get("password")
confirm_password = self.cleaned_data.get("confirm_password")
if password != confirm_password:
print(password)
print(confirm_password)
raise forms.ValidationError(
"Password and password confirmation does not match"
)
return password
self.cleaned_data.get('password') 返回输入的密码,但确认密码不返回。
在view.py看到清理前收到的数据时,confirm_password显示为原样
......................user = UserRegister(request.POST)
print(request.POST.get('confirm_password'))
if user.is_valid():
print('valid')..........................
这可能是什么原因??
这是forms.py中的表单声明部分
first_name = forms.CharField(required=True, widget=forms.widgets.TextInput(attrs={'placeholder': 'First Name'}))
last_name = forms.CharField(required=True, widget=forms.widgets.TextInput(attrs={'placeholder': 'Last Name'}))
username = forms.CharField(required=True, widget=forms.widgets.TextInput(attrs={'placeholder': 'Username'}))
email = forms.EmailField( required=True, widget=forms.widgets.EmailInput(attrs={'placeholder': 'Email'}))
password =forms.CharField(required=True, widget=forms.widgets.PasswordInput())
confirm_password =forms.CharField(required=True, widget=forms.widgets.PasswordInput())
class Meta:
model=User
fields=['first_name','last_name','username','email','password','confirm_password']
【问题讨论】:
标签: python django django-models django-forms django-2.0