Django - 删除默认的本地化消息(不是错误或帮助消息)

时间:2016-03-21 21:45:29

标签: python django

我正在使用Django创建联系表单,而我似乎无法弄清楚此消息(检查图像如下)的来源。这是一个本地化(葡萄牙语)消息,说“请输入电子邮件地址”。 它不是字段错误消息(我已对其进行了自定义,它显示在字段下方,英文版)。我认为这是field.help_text但我也能够改变它,这个外国消息仍然出现。

有谁知道如何覆盖和设置此类消息的样式? 提前谢谢!

enter image description here

<form action="" method="POST" class="form">  {% csrf_token %}
        {% for field in form %}
        <div class="fields-container">
            <label class="label">{{ field.label }}</label>
            {{ field }}
        </div>
        <p class="server-form-errors"> {{ field.errors.as_text }} </p>
        {% endfor %}
        <button type="submit" id="form-button">Submit</button>
    </form>

forms.py:

from django import forms
from django.core.validators import RegexValidator   # import!

class ContactForm(forms.Form):
    full_name = forms.CharField(required=True)
    email = forms.EmailField(validators=[RegexValidator(regex=r'^[a-zA-Z\d.+*?=_@^$%&#´\{\}\|~-]+@([a-zA-Z0-9@-_]+)(\.[a-zA-Z0-9@-_]+)+\b')]
                            , error_messages={'invalid': 'Please enter a valid email address.'})
    message = forms.CharField(widget=forms.Textarea)

1 个答案:

答案 0 :(得分:2)

错误消息来自您的浏览器(例如Chrome),而不是来自Django。它正在验证该字段,因为它具有type="email"。我认为错误是葡萄牙语,因为您的浏览器设置为葡萄牙语。

您可以通过设置novalidate属性来阻止浏览器验证表单。

<form method="post" novalidate>
    <input type="email" />
    <input type="submit" />
</form>