2012-05-03 64 views
0

如果我包含paginator,那么它在同一页面上打印多个paginator。因为我包括在forloop。我该如何解决这个问题?请帮忙获取多个分页符

---------------------- 
{% autopaginate recipes %} 
{% for recipe in recipes %} 
    {{ forloop.counter }} 
{% endfor %} 
----------- 

这是我的完整代码。

{% with followers=current_user.get_profile.get_following.all %} 
    {% for follower in followers %} 
     {% with recipes=follower.recipe_set.all %} 
      {% for recipe in recipes %} 
       {{ forloop.counter }} 
      {% endfor %} 
     {% endwith %} 
    {% endfor %} 
{% endwith %} 

结果 - >1 2 3 1 2 3 ...... 50。它应该是53。因此,我可以很容易地使用paginator

感谢

回答

0

setup.py file of django-pagination doc字符串提到下面,

  1. 决定你想分页的变量,并使用autopaginate标签在迭代它之前在该变量上。这 可以采取两种形式(使用规范object_list 作为实例变量)之一:

    {% autopaginate object_list %}

这是假设你想有默认每页20个结果。如果你想指定自己的每页 结果量,你可以指定像这样:

`{% autopaginate object_list 10 %}` 

请注意,此替代object_list与列表当前页面,这样你就可以在object_list像迭代你通常会。

  1. 现在要显示当前页面和可用的页面,这样的地方有使用autopaginate后,使用分页 包含标签:

    {% paginate %}

这还不任何参数,但确实假设你已经调用过autopaginate,所以一定要这样做。

就是这样!您现在已经为object_list分页,并给予用户 该网站在不同页面之间导航的方式 - 全部不包含 来触及您的观点。

那么,你在哪里使用paginate标签autopaginate后?你实际上不需要循环食谱,autopaginate应该为你做到这一点,无论你打电话分页。

+0

感谢您的回复。是的,我首先包含分页标记,然后是自动标记。 – Kulbir

+0

如果我使用这个'{%autopaginate recipe 10%}'。它从第一个循环显示前10个结果,在同一个页面上显示来自第二个循环的10个以上结果。像'1 ... 10 1 ...... 10' – Kulbir