Исключить некоторые поля формы при рендеринге в django-шаблонах - PullRequest
2 голосов
/ 23 июня 2011

У меня есть блок кода для отображения полей формы в моем шаблоне, так что

{% for field in form.visible_fields %}
<div class="field_container">
    <div class="field_label question">
    {% field.label_tag  %}
    </div>
    <div class="field_field">
    {{ field}}
    </div>
{% endfor %}
{% for field in form.hidden_fields %}
{{ field }}
{% endfor %}

Есть ли способ исключить некоторые поля формы, указав их имена?

Спасибо

1 Ответ

4 голосов
/ 23 июня 2011

Это модельная форма или обычная форма?

Если это модель Form

вы можете использовать список exclude () или fields () в классе Meta на modelForm.

https://docs.djangoproject.com/en/1.3/topics/forms/modelforms/#using-a-subset-of-fields-on-the-form

Если это правильная форма:

Если вы знаете имена полей, вы можете вставить простую проверку if для этих полей, и если это не одно из них, вы напечатаете свой html, если он совпадает, он не поместит html. Не идеальное решение.

Лучшим подходом было бы создать другое поле формы, содержащее только те поля, которые вы хотите, и использовать это поле.

...