我目前正在使用django.contrib.auth中的表单来更改用户密码,但我想在不编辑django / contrib / auth / forms.py文件的情况下自定义验证消息
有人有任何指示?会帮助我很多!
答案 0 :(得分:2)
(根据评论更新 - 相同的原则仍然适用:子类表格和覆盖。)
对表单进行子类化并覆盖特定字段的clean方法:
from django import forms
from django.contrib.auth.forms import PasswordChangeForm
class MyPasswordChangeForm(PasswordChangeForm):
def clean_old_password(self):
try:
return super(MyPasswordChangeForm, self).clean_old_password():
except forms.ValidationError:
raise forms.ValidationError("Booh, the password was not correct!")
...然后在您的视图中使用MyPasswordChangeForm
代替PasswordChangeForm。