Django:通用视图中的分页?

时间:2009-12-28 15:54:47

标签: django

这是在我的urls.py中:

group_info = {
    'queryset': Group.objects.all(),
    'template_object_name': 'groups',
    'paginate_by': 25,
}

这是相关网址:     (r'^ groups / $','django.views.generic.list_detail.object_list',group_info),

这是我在模板中的代码:

<div class="pagination">
    <span class="step-links">
        {% if groups.has_previous %}
            <a href="?page={{ groups.previous_page_number }}">previous</a>
        {% endif %}

        <span class="current">
            Page {{ groups.number }} of {{ groups.paginator.num_pages }}.
        </span>

        {% if groups.has_next %}
            <a href="?page={{ groups.next_page_number }}">next</a>
        {% endif %}
    </span>
</div>

..但不显示分页信息。我想我正在完成文档中的操作。知道什么是错的吗?

感谢。

1 个答案:

答案 0 :(得分:17)

您使用的是错误的变量名称。正如docs所说,变量名称对于paginator对象是paginator,对于页面是page_obj

{% if is_paginated %}
    <div class="pagination">
        <span class="step-links">
            {% if page_obj.has_previous %}
                <a href="?page={{ page_obj.previous_page_number }}">previous</a>
            {% endif %}

            <span class="current">
                Page {{ page_obj.number }} of {{ paginator.num_pages }}.
            </span>

            {% if page_obj.has_next %}
                <a href="?page={{ page_obj.next_page_number }}">next</a>
            {% endif %}
        </span>
    </div>
{% endif %}