Tôi đang sử dụng một ModelForm cho User như vậy:Django vấn đề mật khẩu
class UserForm(forms.ModelForm):
class Meta:
model = User
fields = ('username','password','email',)
nhưng trường mật khẩu xuất hiện như một textfield thường xuyên, không phải là một đầu vào mật khẩu. Làm cách nào để đảm bảo nó hiển thị trường mật khẩu?
Tôi cố gắng này:
class UserForm(forms.ModelForm):
username = forms.CharField(max_length = 15, min_length = 6)
password = forms.PasswordInput()
class Meta:
model = User
fields = ('username','password','email',)
nhưng điều đó không làm việc, hoặc.
Tôi cũng đang cố gắng để thêm một trường mật khẩu xác nhận như vậy, nhưng điều này không gây lĩnh vực trưng bày:
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',)
cảm ơn, tôi không biết bạn có thể làm điều đó nó sẽ là như nhau điều để xác nhận mật khẩu? – JPC
Vì trường đó không có trong mô hình, bạn sẽ cần khai báo riêng ... Tôi sẽ cập nhật câu trả lời của mình – Zach
Tôi vẫn không chắc mình hiểu tại sao tôi phải chỉ định PasswordInput làm tiện ích cho CharField . Họ là cả hai hình thức không phải là họ? Tại sao tôi không thể sử dụng PasswordInput? Cảm ơn! – JPC