代码之家  ›  专栏  ›  技术社区  ›  Jecke

Jinja“=”(比较条件)不起作用?

  •  0
  • Jecke  · 技术社区  · 6 年前

    在用django编写应用程序时,我遇到了一个问题。我想制作页码链接,当前页面不是链接。所以在模板中,我会这样做:

    {% for i in pages %} 
    {% if i == curr_page %} {{ i }}
    {% else %} <a href="...">{{ i }}</a>
    {% endif %}
    

    唯一的问题是什么?Jinja似乎没有注意到两个数字相等。我把第二行改为 {% if i != curr_page %} {{i}}!={{curr_page}} 得到“…5!=6 6!=6 7!=6…”。

    我该怎么办?

    1 回复  |  直到 6 年前
        1
  •  2
  •   MD. Khairul Basar    6 年前

    因为它们不是相同的数据类型。在你看来 int 在传递到上下文之前 dict

    pages = list(map(int, pages))
    curr_page = int(curr_page)