获得多个分页器

时间:2012-05-03 10:00:39

标签: django django-templates django-pagination

如果我添加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

感谢

1 个答案:

答案 0 :(得分:0)

setup.py file of django-pagination中的文档字符串提到了以下内容,

  
      
  1. 确定要分页的变量,并在迭代之前对该变量使用autopaginate标记。这个   可以采取两种形式之一(使用规范object_list   作为示例变量):

         

    {% autopaginate object_list %}

  2.         

    这假定您希望每页默认20个结果。如果您想指定自己的金额   每页结果,您可以这样指定:

       `{% autopaginate object_list 10 %}`
    
         

    请注意,这会将object_list替换为当前页面的列表,因此您可以像往常一样迭代object_list

         
        
    1. 现在您要显示当前页面和可用页面,所以在使用autopaginate之后的某个地方,使用分页   包含标签:

           

      {% paginate %}

    2.         

      这不带任何参数,但假设您已经调用过autopaginate,所以请务必先这样做。

           

      就是这样!您现在已经分页object_list并给予用户   该网站是一种在不同页面之间导航的方式 - 所有这些都没有   感动你的意见。

那么,在autopaginate之后你在哪里使用paginate标签?你实际上不需要循环食谱,autopaginate应该在你调用paginate的任何地方为你做。