Reputation: 8992
I have a checkbox in my Django jinja template. I want that checkbox to be checked if object boolean field is True.
My html element looks like:
<div class="checkbox"><label>
<input type="checkbox" name="sendEmail" checked="{{ customer.SendSms }}">
Send sms?
</label></div>
The problem is, checkbox is still checked when attribute checked="False"
, it's becomes unchecked only when the checked
attribute is not there.
So what i need is, put checked attribute into the html element only if customer.SendSms
is true.
I know something like
{% if customer.SendSms %}
//checked html element here
{% else %}
//unchecked element here
{% endif %}
possible but this does not look so pretty, is there any other good way to handle this?
Upvotes: 10
Views: 11755
Reputation: 27092
Why not wrap the attribute in a conditional?
<input type="checkbox" name="sendEmail" {% if customer.SendSms %}checked{% endif %}>
Upvotes: 24
Reputation: 45555
yesno
template filter will do the job:
<input type="checkbox" name="sendSms" {{ customer.SendSms|yesno:"checked" }}>
Upvotes: 15