6

楷模:

completed = models.BooleanField(_('Completed'))

模板:

{% if object.completed %}
    <strong>{{ object.completed }}</strong>
{% endif %}

输出:

<strong>True</strong>

我需要的:

<strong>Completed</strong>
4

5 回答 5

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

模板.html:

{% if object.completed %}
    <strong>{{ object|get_field_name:'completed' }}</strong>
{% endif %}
于 2012-09-10T05:00:45.583 回答
2
{% if object.completed %}<strong>Completed</strong>{% endif %}
于 2012-09-10T04:46:05.917 回答
1

您可以尝试将标签属性添加到表单字段:

completed = forms.BooleanField(label=mark_safe('<strong>Completed</strong>'))

当您使用时{{ form.completed.label }},您将拥有<label><strong>Completed</strong></label>

于 2012-09-10T04:51:28.837 回答
0

我认为您无法使用对象实例来获得它。如果您modelForm在模板中有该模型,则可以使用{{form.completed.label}}

于 2012-09-10T04:47:39.653 回答
0

我会简单地使用:

{% if object.completed %}
    <p><strong>Completed</stromg></p>
{% else %}
    <p><strong>Not Completed</strong></p>
{% endif %}
于 2018-02-13T05:11:07.083 回答