如果django中有field.errors,如何将css类添加到{{field}},示例在底部
{% for field in form %}
{{ field }}
{% if field.errors %}{{ field.errors }}{% endif %}
{% endfor %}
瞄准{{field}}输入类型,当出现错误时会出现“class = error”
<input class="error">
答案 0 :(得分:4)
您可以将该类添加到字段周围的包装器中。 Django在forms.py或views.py
中定义类时也会自行完成{% for field in form %}
<p {% if field.errors %}class="error"{% endif %}
{{ field }}
</p>
{% if field.errors %}{{ field.errors }}{% endif %}
{% endfor %}
不幸的是,这似乎是唯一的方法。 即使Django添加类itselt,它也更喜欢将它们添加到某种包装中。
http://docs.djangoproject.com/en/dev/ref/forms/api/#more-granular-output
向下滚动以阅读有关添加css类的1.2中的新内容。 使用它,您可以使用form.as_p(或任何适合您的),因为
元素将在您定义它们时具有所有类。 希望这有点帮助。
答案 1 :(得分:0)
你可以使用widget_tweaks api来做到这一点。
而不是使用
呈现表单{{ form.field }}
您应该使用:
{% load widget_tweaks %}
{% render_field form.field class="error" %}