有没有办法在模型表单的文本字段旁边显示错误消息?

时间:2013-08-01 14:54:54

标签: django django-forms

我正在使用django Model Forms。当它捕获错误时,它会显示在文本字段的顶部。有没有办法让它显示在文本框的旁边?

2 个答案:

答案 0 :(得分:2)

我猜你使用Django的一种内置方式来显示你的表格(即https://docs.djangoproject.com/en/dev/topics/forms/#displaying-a-form-using-a-template)。这很棒,因为它可以很容易地显示单行的表单,例如{{ form.as_p }},但是,通过这样做,您放弃了对表单呈现方式的所有控制。如果你想要那个控制,你将不得不自己编写HTML。

也就是说,你需要做类似的事情:

{% for field in form %}
    <p>{% if field.error %} {{ field.error }} {% endif %}</p>
    <p>{{ field.label }}</p>
    <p>{{ field }}</p>
{% endfor %}

当然,您需要更改格式以满足您的需求,但您现在可以直接更改HTML,并添加类或ID(在CSS中使用),如果您需要更高级的东西。

答案 1 :(得分:1)

小部件下面出现的错误消息只是普通的html元素,您可以使用CSS修改它的输出。请阅读Styling required or erroneous form rows

希望这有帮助!