在django-templates中渲染时,请排除一些表单字段

问题描述

|| 我有一个代码块,以便在模板中呈现表单字段,以便
{% 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 %}
是否可以通过指定名称来排除某些表单字段? 谢谢     

解决方法

        这是modelForm还是常规形式? 如果是modelForm 您可以在modelForm的Meta类上使用exclude()或fields()列表。 https://docs.djangoproject.com/zh-CN/1.3/topics/forms/modelforms/#using-a-subset-of-fields-on-the-form 如果是常规格式: 如果您知道这些字段的名称,则可以通过简单的if检查这些字段,如果不是,则打印html,如果匹配则不会放置html。不是理想的解决方案。 更好的方法是创建一个不同的表单字段,该表单字段仅包含所需的字段并使用该字段。