【问题标题】:How to Format/Overwrite Django Form Error Message?如何格式化/覆盖 Django 表单错误消息?
【发布时间】:2012-10-18 12:32:21
【问题描述】:

forms.py

class MyForm(forms.Form):
    no = forms.CharField(error_messages={'required': u'must be xxx')

模板.html

{{form.no.error}}

{{form.no.error}} 是 <ul class="errorlist"><li>must be xxx</li></ul> 我想将{{form.no.error}} 格式化为没有任何html标签的纯文本消息

【问题讨论】:

标签: python html django forms


【解决方案1】:

您可以删除标签:

{{ form.no.errors|striptags }}

或者只是访问原始错误:

{{ form.no.errors.as_text }}

【讨论】:

  • 我想用一些html标签来格式化错误消息以进行模板显示,我可以在forms.py中格式化消息,而不是在带有js的模板中吗?
  • 这会有点复杂。 <html> 的生成在 ErrorDict 类中完成。您将不得不以某种方式对其进行修改。 github.com/django/django/blob/master/django/forms/util.py#L26 或直接表单类。另一种选择是创建一个可以插入自定义 html 的模板过滤器。
  • 响应有点晚,仅供参考:您可以很容易地编写自定义错误列表类并将其传递给 Python 中的任何表单:docs.djangoproject.com/en/1.3/ref/forms/api/…
猜你喜欢
  • 2023-03-31
  • 2010-12-01
  • 2011-04-28
  • 1970-01-01
  • 1970-01-01
  • 2011-07-15
  • 2017-04-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多