Django模板if语句返回错误值

时间:2017-02-28 23:38:00

标签: django python-2.7 web django-templates django-views

在我的主页上我有博客,右侧有帖子类别列表,如:

  • 运动
  • 犯罪

等等。我尝试在我处于特定类别时突出显示活动类别按钮。 我这样做是通过将GET参数设置为我的主页,如: /?category = 1

现在......在index.html模板中,我这样做:

{% for category in category_list %}
    {{ category.pk }} != {{ request.GET.category }} // This is for debugging. Returns 1==1
        {% if category.pk == request.GET.category %}
            <li><a href="{% url 'web_serv:index' %}?category={{ category.pk }}">{{ category }}<span class="pull-right">({{ category.post_set.count }})</span></a></li>
        {% else %}
            <li class="active"><a href="{% url 'web_serv:index' %}?category={{ category.pk }}">{{ category }}<span class="pull-right">({{ category.post_set.count }})</span></a></li>
        {% endif %}
{% endfor %}

但这不起作用。有任何建议如何解决这个问题,也许有另一种方法?

编辑:

我认为category.pk返回int而request.GET.category返回字符串。下一个问题。如何转换int&lt; ==&gt;字符串,以便我可以比较它们?

1 个答案:

答案 0 :(得分:0)

通过这样做:

{% if category.pk != request.GET.category|add:"0" %}

显然| add:“0”将字符串转换为int。