【发布时间】:2010-10-25 03:48:23
【问题描述】:
我有一些打印 BooleanField 的 django 代码
它呈现为真或假,我可以将标签更改为同意/不同意还是需要在模板中为此编写逻辑?
【问题讨论】:
标签: django django-models django-templates
我有一些打印 BooleanField 的 django 代码
它呈现为真或假,我可以将标签更改为同意/不同意还是需要在模板中为此编写逻辑?
【问题讨论】:
标签: django django-models django-templates
如果你的模型被定义为
class mymodel(models.Model):
choices=((True, 'Agree'), (False,'Disagree'),(None,"Maybe"))
attr = models.BooleanField(choices=choices, blank=False, null=True)
您可以使用内置方法来检索与模板中的值关联的“漂亮”字符串
{{ object.get_attr_display }}
【讨论】:
{{ bool_var|yesno:"Agree,Disagree" }}
您还可以为 None 情况提供额外的字符串。有关详细信息,请参阅yesno 的文档。
【讨论】:
如果您想拥有更多选项,例如添加 HTML 元素和类,这只是另一种方式
{% if var == True %} Yes {% else %} No {% endif %}
您可以将 Yes 和 No 更改为任何 html 元素;图像或跨度元素
【讨论】: