Шаблон формы Django - PullRequest
       12

Шаблон формы Django

0 голосов
/ 17 августа 2010

Если бы в django были field.errors, как добавить класс css в {{field}}, пример внизу

{% for field in form %}

{{ field }}

{% if field.errors %}{{ field.errors }}{% endif %}

{% endfor %}

Нацеленность на {{field}} тип ввода, который будет иметь "класс = ошибка "когда когда-либо была ошибка

<input class="error">

Ответы [ 2 ]

4 голосов
/ 17 августа 2010

Вы можете добавить класс в оболочку вокруг поля. 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

Прокрутите вниз, чтобы прочитать о новой вещи в 1.2 о добавлении классов CSS. Используя это, вы можете просто использовать form.as_p (или все, что вам подходит), так как элементы

будут иметь все классы, как вы их определяете. Надеюсь, это немного помогло.

0 голосов
/ 25 июля 2013

Вы можете использовать api widget_tweaks для этого.

Вместо рендеринга формы с

{{ form.field }} 

Вы должны использовать:

{% load widget_tweaks %}
{% render_field form.field class="error" %} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...