9
我使用的ModelForm的用戶,像這樣:Django的密碼問題
class UserForm(forms.ModelForm):
class Meta:
model = User
fields = ('username','password','email',)
但密碼字段顯示爲一個普通文本框,而不是一個密碼輸入。我如何確保它顯示密碼字段?
我嘗試這樣做:
class UserForm(forms.ModelForm):
username = forms.CharField(max_length = 15, min_length = 6)
password = forms.PasswordInput()
class Meta:
model = User
fields = ('username','password','email',)
但這並不工作。
我也想添加一個確認密碼字段像這樣,但是這會導致不顯示的字段:
class UserForm(forms.ModelForm):
username = forms.CharField(max_length = 15, min_length = 6)
password = forms.PasswordInput()
cpassword = forms.PasswordInput()
def clean(self):
if self.cleaned_data['cpassword']!=self.cleaned_data['password']:
raise forms.ValidationError("Passwords don't match")
class Meta:
model = User
fields = ('username','password','cpassword','email',)
謝謝,我不知道你能做到這一點 這將是相同的確認密碼的東西? – JPC 2010-08-20 15:46:11
由於該字段不在模型中,因此您需要單獨聲明它...我將更新我的答案 – Zach 2010-08-20 17:28:12
我仍然不確定我明白爲什麼必須將PasswordInput指定爲CharField的窗口小部件。他們都是形式不是他們?爲什麼我不能使用PasswordInput? 謝謝! – JPC 2010-08-20 17:36:23