【发布时间】:2014-02-28 17:38:47
【问题描述】:
我正在渲染表单模板。相关代码是这样的:
{% for field in filter.form %}
{% if field.is_hidden %}
{{ field }}
{% else %}
<div class="field">
{{ field }}
</div>
{% endif %}
{% endfor %}
到目前为止,一切都很好。如果是隐藏字段,只需显示该字段。如果没有,请放置一个带有 field 类的 div 包装器,以从我正在使用的框架中激活一些 CSS。
但是,如果字段是选择框,我需要 div 包装器中的该类为 picker。如果它是一个多选框,它需要是picker-multiple。以此类推。
这可以在模板视图中执行吗?我们正在使用一个框架(这就是为什么我不想只使用 CSS 以不同的方式定位表单字段),但我们希望核心代码在没有框架的情况下工作(我认为这就是为什么我们不会'不想在单独的 Python 文件中做这种事情)。
至于我所尝试的,我注意到{{ field.field.widget }} 呈现类似<django.forms.widgets.Select object at 0x10d822a50> 的内容。我本来希望{{ field.field.widget.Select }} 渲染一些东西(想到True),但它什么也没做。
【问题讨论】:
标签: django django-forms django-templates