好的,我有一个表单,然后在模板中,我有这个代码:
{% if form.errors %}
{ form.errors %}
{% endif %}
现在,假设我的表单中有一个用户名字段,这是必需的,我故意不填写它。它会说
username
-This field is required
如何更改错误消息所针对的字段时显示的“用户名”一词?我猜它是从我创建的模型中取名,因为在模型中(我做了一个形式)我写了
username = models.CharField(max_length=10)
first_name = models.CharField(max_length=20)
如您所见,如果first_name字段出错,则会显示django
first_name
- *error message*
如何让它显示“First Name”而不是“first_name”?
答案 0 :(得分:3)
如果您想将一些自定义消息添加到您的错误中,您可能需要修改表单域的干净方法。
例如:
class Form(forms.ModelForm):
class Meta:
model = User #Assuming User is the name of your model
fields = ['username','first_name']
def clean_first_name(self):
if condition: # A condition that must raise an error
raise forms.ValidationError(u'Your Custom Validation Error goes here.')
return self.cleaned_data['first_name']
但是,如果您只想更改默认错误消息中显示的名称,可以在字段中添加详细名称,如:
username = models.CharField(max_length=10, verbose_name="Username")
first_name = models.CharField(max_length=20, verbose_name="First Name")
或隐含:
username = models.CharField("Username", max_length=10)
first_name = models.CharField("First Name",max_length=20)
要了解有关django表单和字段验证的更多信息:https://docs.djangoproject.com/en/1.5/ref/forms/validation/#form-and-field-validation
关于覆盖默认表单错误消息: Django override default form error messages
和
http://davedash.com/2008/11/28/custom-error-messages-for-django-forms/