【发布时间】:2016-04-23 08:30:21
【问题描述】:
我正在使用 Django 和 Bootstrap 构建分页。这个变量 pageNum 是从我的 views.py 传递过来的,表示当前页面。我使用 for 循环来生成分页。分页本身很好,但是当我将 forloop.counter 与 pageNum 进行比较以将 class="active" 添加到当前 li 时,它不起作用。但是当我实际打印 pageNum 和 forloop.counter 的值时,它们是相同的。代码如下:
<ul class="pagination">
{% for pagination in paginationInfo %}
<li {% if forloop.counter == pageNum %} class="active" {%endif%} ><a href="{{pagination}}">{{forloop.counter}}</a></li>
{% endfor %}
</ul>
【问题讨论】:
-
您能否展示您在哪里计算并传递
pageNum的视图? -
它是一个 GET 变量。我的错。我在视图中使用 int(pageNum) 进行计算,但我将原始(字符串类型)pageNum 传递给模板。
-
所以不要在模板中使用
pageNum|add:"0",我认为这不是理想的解决方案,您可以在模板中传递整数值,然后一切都会正常工作。我这样说是因为如果您再次想在模板中的其他位置使用pageNum,您可能会忘记它不是int。 -
AKS 是对的。正如我在回答中建议的那样,您应该将变量转换为
int。这将是一个更合适的解决方案。 -
谢谢。我正在纠正观点。我可能会在代码的其他部分再次发生。