Django+Ubuntu web开发分页功能插件配置

分页插件访问地址:https://github.com/jamespacileo/django-pure-pagination

1.在项目虚拟环境安装分页插件
pip install django-pure-pagination

2.在settings中进行配置
INSTALLED_APPS = (
...
'pure_pagination',
)

3.views.py逻辑编写
导入 from pure_pagination import Paginator, EmptyPage, PageNotAnInteger

def get(self, request):
try:
page = request.GET.get('page', 1)
except PageNotAnInteger:
page = 1

p = Paginator(all_orgs, 5, request=request)

orgs = p.page(page)  #分页

return render(request, "org-list.html', {
    'all_orgs': orgs,
}

4.模板html页面中设置
{% for course_org in all_orgs.object_list%}
{% for page in all_orgs.pages %}
{% if page %}
{% ifequal page page_obj.number %}

  • {{ page }}

  • {% else %}
  • {{ page }}

  • {% endifequal %}
    {% else %}
  • ...

  • {% endif %}
    {% endfor %}

    下一页显示逻辑

    在html页面设置{% for course_org in all_orgs.object_list%}
    {% if all_orgs.has_previous %} #判断是否有前一页

  • 上一页

  • {% endif %}

    循环显示中间页

    {% for page in all_orgs.pages %}
    {% if page %}
    {% ifequal page page_obj.number %}

  • {{ page }}

  • {% else %}
  • {{ page }}

  • {% endifequal %}
    {% else %}
  • ...

  • {% endif %}
    {% endfor %}

    下一页显示逻辑

    {% if all_orgs.has_next %

  • 下一页

  • {% endif %}

    你可能感兴趣的:(Django+Ubuntu web开发分页功能插件配置)