自定义Django表单验证的html输出

Mar*_*ler 6 django django-forms

每当您在Django模板中使用{{form.field.errors}}标记时,显示的验证消息总是被无序列表标记包围.这对我来说并不理想.我可以从可重用的包中修改表单的周围验证消息html吗?

Ala*_*air 9

从django docs关于循环表单的字段:

{{ field.errors }}
输出<ul class="errorlist">包含与此字段对应的任何验证错误的a .您可以使用{% for error in field.errors %}循环自定义错误的表示.在这种情况下,循环中的每个对象都是包含错误消息的简单字符串.

因此,例如,要将每个错误包装在<p>标记中,您将执行以下操作:

{% for error in field.errors %}
    <p>{{ error|escape }}</p>    
{% endfor %}
Run Code Online (Sandbox Code Playgroud)