您的位置:首页 > 编程语言 > Go语言

django 分页例子

2018-11-13 12:00 821 查看

django 分页例子

安装

python3.6 -m pip install django-pure-pagination==0.3.0

设置

settings.py
INSTALLED_APPS = [
'pure_pagination',
]

PAGINATION_SETTINGS = {
'PAGE_RANGE_DISPLAYED': 3,
'MARGIN_PAGES_DISPLAYED': 2,
'SHOW_FIRST_PAGE_WHEN_INVALID': True,
}

DISPLAY_PER_PAGE = 15

应用

from pure_pagination import PageNotAnInteger
from pure_pagination import Paginator
try:
page = self.request.GET.get('page', 1)
except PageNotAnInteger_He as e:
page = 1
p = Paginator_He(self.queryset, getattr(settings, 'DISPLAY_PER_PAGE'), request=self.request)
asset_list = p.page(page)

context = {
"ecs_list": asset_list,
}
<div style="text-align:center;">
<nav class="pagination">

<li><a href="{% url "asset:ecs_list" %}?page=1">首页 </a></li>

{% if ecs_list.has_previous %}
<li class="long"><a
href="?{{ ecs_list.previous_page_number.querystring }}">上一页</a>
</li>
{% endif %}

{% for page in ecs_list.pages %}
{% if page %}
{% ifequal page ecs_list.number %}
<li class="active"><a href="?{{ page.querystring }}">{{ page }}</a>
</li>
{% else %}
<li><a href="?{{ page.querystring }}" class="page">{{ page }}</a>
</li>
{% endifequal %}
{% else %}
<li class="none"><a href="">...</a></li>
{% endif %}
{% endfor %}
{% if ecs_list.has_next %}
<li class="long"><a
href="?{{ ecs_list.next_page_number.querystring }}">下一页</a>
</li>
{% endif %}
<li>
<a href="{% url "asset:ecs_list" %}?page={{ ecs_list.paginator.num_pages }}">尾页 </a>
</li>
<li><span
style="color: #0a0a0a">总:  {{ ecs_list.paginator.num_pages }} 页</span>
</li>
<li><span
style="color: #0a0a0a">  ECS数量: {{ ecs_count }}</span>
</li>
</nav>
</div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  django 分页