我有一些打印 BooleanField 的 django 代码
它呈现为真或假,我可以将标签更改为同意/不同意,还是需要在模板中为此编写逻辑?
我有一些打印 BooleanField 的 django 代码
它呈现为真或假,我可以将标签更改为同意/不同意,还是需要在模板中为此编写逻辑?
{{ bool_var|yesno:"Agree,Disagree" }}
您还可以为 None 情况提供额外的字符串。有关详细信息,请参阅yesno的文档。
如果您想拥有更多选项,例如添加 HTML 元素和类,这只是另一种方式
{% if var == True %} Yes {% else %} No {% endif %}
您可以将 Yes 和 No 更改为任何 html 元素;图像或跨度元素
如果您的模型已定义为
class mymodel(models.Model):
choices=((True, 'Agree'), (False,'Disagree'),(None,"Maybe"))
attr = models.BooleanField(choices=choices, blank=False, null=True)
您可以使用内置方法来检索与模板中的值关联的“漂亮”字符串
{{ object.get_attr_display }}
可以尝试以下任何一种方法并获得一致的结果:
一种。
{% if form.my_bool.value %}
{{ "Yes" }}
{% else %}
{{ "No" }}
{% endif %}
B.
{{ form.my_bool.value|yesno }}
C。
{{ form.my_bool.value|yesno:"Yes,No" }}
D.
{% if form.my_bool.value == True %} Yes {% else %} No {% endif %}
或者简单地说,
{{ form.my_bool.value }} # Here the output will be True or False, as the case may be.