我正在使用django Model Forms。当它捕获错误时,它会显示在文本字段的顶部。有没有办法让它显示在文本框的旁边?
答案 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。
希望这有帮助!