【发布时间】:2010-12-19 05:46:28
【问题描述】:
假设 Django 模板的这一部分。 regs 是 Reg 对象的列表。 Reg.editable 是一个布尔字段。 我想为列表中的每个元素呈现一个单选按钮。如果 r.editable 为 False,则必须禁用单选按钮:
{% for r in regs %}
<input type="radio" value="{{ forloop.counter }}"
{% if forloop.first %}checked="checked"{% endif %}
{% if not r.editable %}disabled="disabled"{% endif %}/>
{% endfor %}
如您所见,我使用 forloop.first 来检查第一个单选按钮,但这有问题!如果第一个元素具有可编辑 == False 怎么办?第一个单选按钮将被禁用并选中。如果随后用户提交“表单”,我将收到一个未预期的值。
我是否清楚这里的问题?如何重写此模板以呈现为选中的 FIRST ENABLED 单选按钮?
谢谢
【问题讨论】:
-
顺便说一句,我没有使用孔 Django,只是模板引擎,所以我无法将此逻辑移至视图:)
标签: python django templates django-templates