Настройка формы Django: Требуется и InputId? - PullRequest
1 голос
/ 13 февраля 2010

Я пытаюсь настроить отображение моей формы с помощью form_snippet, как предложено в документах Вот что я придумала до сих пор:

{% for field in form %}
<tr>
    <th><label for="{{ field.html_name }}">{{ field.label }}:</label></th>
    <td>
        {{ field }}
        {% if field.help_text %}<br/><small class="help_text">{{ field.help_text }}</small>{% endif %}
        {{ field.errors }}
    </td>
</tr>
{% endfor %}

Конечно, field.html_name это не то, что я ищу. Мне нужно id поля ввода. Как я могу получить это?

Кроме того, есть ли способ определить, является ли поле обязательным, чтобы я мог отобразить звездочку рядом с надписью?

Ответы [ 3 ]

3 голосов
/ 13 февраля 2010

Нашли оба ответа здесь . Мой новый скрипт выглядит так:

{% for field in form %}
<tr>
    <th>{% if field.field.required %}*{% endif %}<label for="{{ field.auto_id }}">{{ field.label }}:</label></th>
    <td>
        {{ field }}
        {% if field.help_text %}<br/><small class="help_text">{{ field.help_text }}</small>{% endif %}
        {{ field.errors }}
    </td>
</tr>
{% endfor %}

Глупые неполные документы: \

1 голос
/ 15 марта 2010

Вы можете получить атрибут id поля ввода следующим образом: {{field.auto_id}}

1 голос
/ 13 февраля 2010

{{field.label_tag}} должен иметь то, что вы ищете, чтобы заполнить атрибут 'for' на ярлыке.

Возможно, вы захотите попробовать {{field.required}} и посмотреть, работает ли он, мне кажется, что-то подобное я помню в своих собственных формах.

http://docs.djangoproject.com/en/dev/topics/forms/#looping-over-the-form-s-fields

...