在Django模板中操纵forloop计数器

时间:2016-05-18 20:09:39

标签: django django-templates django-pagination

我有一个分页的Django模板,我循环遍历列表的元素并显示它们。我想要一个超链接显示在列表的最顶部,仅在第一页上显示,而不是后续页面。

我目前正在{% if forloop.counter == 1 %}{% endif %}内附上该超链接。

但是,这会在每个页面的开头输出超链接。我如何将其仅限于第一页?

3 个答案:

答案 0 :(得分:0)

这样的事情?

{% if forloop.first and items.number == 1 %}{% endif %}

或者

{% if forloop.first and not items.has_previous %}

“items”必须替换为您呈现给模板的分页项目

答案 1 :(得分:0)

如果您使用Django Pagination获取分页查询集,则可以使用Page.number访问当前页码:

  

此页面的1-based页码。

如果页面中有object_list,则只能在第一页上包含超链接(并在for循环之外):

{% if object_list.number == 1 %}
    your hyperlink goes here
{% endif %}

答案 2 :(得分:0)

{{ page_obj.start_index|add:forloop.counter0 }}