模型:
completed = models.BooleanField(_('Completed'))
模板:
{% if object.completed %}
<strong>{{ object.completed }}</strong>
{% endif %}
输出:
<strong>True</strong>
我需要的是什么:
<strong>Completed</strong>
答案 0 :(得分:9)
另外,请查看yesno
模板过滤器。用法:
<strong>{{ object.completed|yesno:"Completed,Uncomplited" }}</strong>
或:
<strong>{{ object.completed|yesno:"Completed," }}</strong>
另一方面,您可以随时制作自己的模板过滤器。例如,下一个返回指定字段的verbose_name
:
<强> foo_tags.py:强>
@register.filter()
def get_field_name(object, field):
verbose_name = object._meta.get_field(field).verbose_name
return verbose_name
<强> template.html:强>
{% if object.completed %}
<strong>{{ object|get_field_name:'completed' }}</strong>
{% endif %}
答案 1 :(得分:2)
{% if object.completed %}<strong>Completed</strong>{% endif %}
答案 2 :(得分:0)
我认为你不能使用对象实例。如果模板中的模型有modelForm
,您可以使用{{form.completed.label}}
答案 3 :(得分:0)
我只想使用:
{% if object.completed %}
<p><strong>Completed</stromg></p>
{% else %}
<p><strong>Not Completed</strong></p>
{% endif %}