【发布时间】:2018-06-19 20:05:19
【问题描述】:
我目前使用这种替代方案AuthenticationForm:
class AuthenticationForm(AuthenticationForm):
username = forms.CharField(widget=forms.HiddenInput(), initial="members")
def confirm_login_allowed(self, user):
pass
def __init__(self, *args, **kwargs):
super(AuthenticationForm, self).__init__(*args, **kwargs)
self.fields['password'].error_messages = {'incomplete': 'Please enter a valid password.'}
for field in self.fields.values():
field.error_messages = {'required':'T {fieldname} is required'.format(
fieldname=field.label)}
其中一些代码无用,但我正在尝试更改用户输入错误密码时的错误消息。目前,django 提供错误消息:Please enter a correct username and password. Note that both fields may be case-sensitive.,但我希望它是 Please enter the correct password。
我想这是一个边缘情况。
感谢您的帮助。
【问题讨论】:
-
您需要将验证放在另一个干净的方法中,而不是 init 这几乎可以引导您完成它stackoverflow.com/questions/3226197/…
-
根据 OWASP 最佳实践,您不应该给出任何指示用户是否填写了错误的用户名或密码:[owasp.org/index.php/…。
标签: django