【问题标题】:Django : How to hide a variable in a templateDjango:如何在模板中隐藏变量
【发布时间】:2015-06-12 08:23:40
【问题描述】:

我有一个带有树的模板 陶瓷复合金属一般 我要隐藏将军

我写的

{% for category in object_list %}

{% if category != "general" %}

<li class="closed"><span class="folder"><a >{{ category }}</a></span></li>

{% endif %}  

没用

什么是错误

【问题讨论】:

  • 什么是category?它只是一个字符串吗?
  • 不,它是一个变量
  • category.name != "general" ???类别是什么样的?
  • 也是字符串
  • 正如三个人现在所问的那样,请准确说明category 是什么以及它来自哪里。它在哪里定义?由于它来自object_list,它可能是ListView 中的一个列表,这意味着category 是一个模型,而不是一个字符串。 请显示模型定义

标签: django variables templates


【解决方案1】:

在模板中,{{ category }} 被解释为Category.__str__() 并显示一个字符串。

但在{% if category != "general" %} 中,category 是一个始终不同于字符串"general" 的对象。你要做的是:{% if category.name != "general" %}

另外,请注意,如果您在此模板中不使用名为 "general" 的类别,则应在查询 db 时将其过滤掉。效率会更高。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-14
    • 2016-04-15
    • 2019-06-08
    • 2017-11-08
    • 2016-03-16
    • 1970-01-01
    • 2017-01-08
    相关资源
    最近更新 更多