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

谢谢

4

1 回答 1

0

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

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

    {% autopaginate object_list %}

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

   `{% autopaginate object_list 10 %}`

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

  1. 现在你想显示当前页面和可用页面,所以在使用自动分页后的某个地方,使用分页包含标签:

    {% paginate %}

这不接受任何参数,但假设您已经调用了 autopaginate,因此请确保首先这样做。

而已!您现在已经分页object_list并为站点的用户提供了一种在不同页面之间导航的方式——所有这些都无需触及您的视图。

那么,您在自动分页之后在哪里使用分页标签?您实际上不需要遍历食谱,无论您调用 paginate,autopaginate 都应该为您执行此操作。

于 2012-05-03T10:30:06.080 回答