有一个奇怪的问题。比方说,在我的内容模型:Django模板:如何基于模型中的布尔字段显示HTML块
show_in_posts = models.BooleanField()
show_in_news = models.BooleanField()
show_in_updates = models.BooleanField()
然后在我的{% for content in contents %}
模板:
{% if content.show_in_news == 'True' %}
....
{% endif %}
似乎无法获得的条件工作。看起来{{ content.show_in_news }}
总是评估为True,即使它在管理面板中设置为未选中状态。我试过没有引号{% if content.show_in_news == True %}
也试过全部小写真,或者只是{% if content.show_in_news %}
不行。
其他一些帖子建议注册一个自定义的“过滤器”,但这似乎很微不足道,应该开箱即用?
非常感谢的帮助!
什么'{{content.show_in_news}}'给你? –
每个以上,即使复选框未在管理员中被选中,似乎总是“真”。 – pete
有些事情肯定是错误的。即使我的其他布尔值都在模板中打印为“真”,但它们在数据库中肯定设置为关闭。我可以在管理员中切换它们并保存 - 它们变成红色的“停止标志”图标,切回并保存,返回到“绿色选中标记” - 一切正常。我只是不能让他们通过模板来通过除True以外的其他任何模板。其他类型,例如CharField,TextArea显示正常..呃,什么给出:( – pete