我正在尝试覆盖Django AuthorizationForm的固定错误消息。与其说这个字段是必填字段,不如说我是在说用户名是必填字段。
我尝试使用标准LoginView来对AuthorizationForm进行子类化,并且它没有采用我的自定义清理方法。我查看了类似的问题Change default django error messages for AuthenticationForm,并尝试按照此处的提示进行操作,但仍然无法正常工作。在此先感谢您提供关于我可能做错了什么的提示。
class AuthenticationForm(AuthenticationForm):
def __init__(self, *args, **kwargs):
super(AuthenticationForm, self).__init__(*args, **kwargs)
def clean(self):
cleaned_data = super(AuthenticationForm, self).clean()
username = cleaned_data.get('username')
password = cleaned_data.get('password')
if username and password:
pass
else:
self.add_error('username','Username and Password required.')
pass
我试图让它显示“必需的用户名和密码”,而不是默认的罐头。此字段为必填消息。无论我做什么,我似乎都无法拿起上面的代码。我将其存储在我的项目Forms.py文件中。我相信我将其归类为错误。我尝试了很多不同的组合,但似乎看不到这种形式。我正在运行Django 1.11
答案 0 :(得分:0)
@Jagjeet Singh谢谢!
Jagleet的建议帮助我了解到,我需要在Forms.py文件中以以下格式定义此表单,以便User获得所需的最终结果。
class AuthenticationForm(AuthenticationForm):
class Meta:
model = User
fields = '__all__'
def __init__(self, *args, **kwargs):
super(AuthenticationForm, self).__init__(*args, **kwargs)
for field in self.fields.values():
field.error_messages = {'required':'{fieldname} is required'.format(
fieldname=field.label)}