【问题标题】:How can I change the way a boolean prints in a django template?如何更改 django 模板中布尔值的打印方式?
【发布时间】:2010-10-25 03:48:23
【问题描述】:

我有一些打印 BooleanField 的 django 代码

它呈现为真或假,我可以将标签更改为同意/不同意还是需要在模板中为此编写逻辑?

【问题讨论】:

    标签: django django-models django-templates


    【解决方案1】:

    如果你的模型被定义为

    class mymodel(models.Model):
        choices=((True, 'Agree'), (False,'Disagree'),(None,"Maybe"))
        attr = models.BooleanField(choices=choices, blank=False, null=True)
    

    您可以使用内置方法来检索与模板中的值关联的“漂亮”字符串

    {{ object.get_attr_display }}
    

    【讨论】:

      【解决方案2】:
      {{ bool_var|yesno:"Agree,Disagree" }}
      

      您还可以为 None 情况提供额外的字符串。有关详细信息,请参阅yesno 的文档。

      【讨论】:

      • 太棒了。有些东西你有机会搜索并繁荣,有一个完美的解决方案
      • 太棒了!它完全有效,谢谢。
      【解决方案3】:

      如果您想拥有更多选项,例如添加 HTML 元素和类,这只是另一种方式

      {% if var == True %} Yes {% else %} No {% endif %}
      

      您可以将 Yes 和 No 更改为任何 html 元素;图像或跨度元素

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-23
        • 2012-01-09
        • 2013-07-02
        • 2017-05-15
        • 1970-01-01
        • 1970-01-01
        • 2011-10-26
        • 1970-01-01
        相关资源
        最近更新 更多