在Django分页中显示较少的页面

时间:2016-06-28 10:26:00

标签: python django pagination

我正在研究Django应用程序,并在其中一个页面上使用分页。我有大约200页,如果我在中间的某个地方,它有来自第1 - 4页的链接,显示我所在页面后面的4页,在我访问的页面后面的3页和最后4页。看起来像this

我希望它能够一次显示更少的页面,可能是前2页,最后2页和当前页面+/- 2.

{% extends 'base.html' %}

{% load pagination_tags %}

{% load staticfiles %}
    {% block body_block %}

        {% autopaginate art 4 %}

        <div class="container">
            {% if item%}
                {% for x in item %}
                    <div class="floated_img">
                        {% if x.picture %}
                            <img src="{{ x.picture.url }}" name="aboutme" width="140" height="140"
                                 class="img-rounded" class="img-responsive">
                        {% else %}
                            <img src="{% static "images/generic.jpg" %}" name="aboutme" width="140" height="140"
                                 class="img-rounded" class="img-responsive">
                        {% endif %}
                        <div class="table-responsive">
                            <p style="text-align: center;">

                                <strong>{{ x.name }}</strong><br>
                                <strong>{{ x.type }}</strong><br>
                                <strong>{{ x.price }}</strong>
                        </div>
                        </p>
                    </div>

                {% endfor %}
                <br>
                </div>
            {% endif %}
        <br>

        {% paginate %}


    {% endblock %}

我没有编写任何用于分页的python文件并且刚刚导入了内容,我假设我将不得不对一些分页文件进行更改并将它们存储在我的项目中以覆盖它们但不知道如何要做到这一点。

非常感谢帮助,希望我已经提供了足够的关于我的问题的信息

1 个答案:

答案 0 :(得分:1)

您似乎正在使用django-pagination应用。它有一个设置当前页面左右两侧的项目

  • PAGINATION_DEFAULT_WINDOW要显示的当前页面左侧和右侧的项目数(占省略号)。

设置

PAGINATION_DEFAULT_WINDOW = 2

会根据需要设置中间部分。