我的模板中有一个复选框。如果对象布尔字段为True,我希望检查该复选框。
我的html元素如下:
<div class="checkbox"><label>
<input type="checkbox" name="sendEmail" checked="{{ customer.SendSms }}">
Send sms?
</label></div>
问题是,当属性checked="False"
时仍然会选中复选框,只有当checked
属性不存在时,它才会被取消选中。
所以我需要的是,只有当customer.SendSms
为真时才将checked属性放入html元素。
我知道像
这样的东西{% if customer.SendSms %}
//checked html element here
{% else %}
//unchecked element here
{% endif %}
可能,但这看起来不那么漂亮,有没有其他好方法来处理这个?
答案 0 :(得分:15)
为什么不将属性包装在条件中?
<input type="checkbox" name="sendEmail" {% if customer.SendSms %}checked{% endif %}>
答案 1 :(得分:4)
yesno
模板过滤器可以完成这项工作:
<input type="checkbox" name="sendSms" {{ customer.SendSms|yesno:"checked" }}>