美文网首页django分页
django自带分页

django自带分页

作者: 赖三石 | 来源:发表于2017-07-18 11:25 被阅读0次

urls.py

from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/', views.index, name='index'),
]

views.py

# encoding=utf-8
from django.shortcuts import render
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger

def index(request):

    #模拟数据,列表生成式
    a_list = [i for i in range(1, 1003)]

    paginator = Paginator(a_list, 8)  # Show 25 contacts per page
    page = request.GET.get('page')
    try:
        data = paginator.page(page)
    except PageNotAnInteger:
        # If page is not an integer, deliver first page.
        data = paginator.page(1)
    except EmptyPage:
        # If page is out of range (e.g. 9999), deliver last page of results.
        data = paginator.page(paginator.num_pages)

    return render(request,'index.html',{
        'data': data
    })

template

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <style>
        .active{
            background-color: #1b6d85;
        }
        #ss li{
            float: left;
            display: inline;
            margin-left: 10px;
        }
    </style>
</head>
<body>

<ul>
    {% for d in data %}
        <li>{{ d }}</li>
    {% endfor %}
</ul>

{#{% for i in page %}#}
{#{{ i|safe }}#}
{#{% endfor %}#}
<ul id="ss">
{% if data.has_previous %}
    <li><a href="/index/?page={{ data.previous_page_number }}" >上一页</a></li>
{% endif %}

{% for p_num in data.paginator.page_range %}
    {% if data.number == p_num %}
        <li><a class="active" href="/index/?page={{ p_num }}">{{ p_num }}</a></li>
    {% else %}
        <li><a href="/index/?page={{ p_num }}">{{ p_num }}</a></li>
    {% endif %}
{% endfor %}

{% if data.has_next %}
    <li><a href="/index/?page={{ data.next_page_number }}" >下一页</a></li>
{% endif %}
</ul>
</body>
</html>

相关文章

  • Django-分页

    django-分页 一.django自带的分页 以读取UserInfo表为例 1.导入模块 from django...

  • django分页实现

    首先导入django自带的分页from django.core.paginator import Paginato...

  • Django之分页器

    Django自带分页器的实现 介绍 Django提供了一个新的类来帮助你管理分页数据,这个模块存放在django....

  • django自带分页

    urls.py views.py template

  • django自带分页(补)

    注:只突出分页,其余功能可能不全 例:views.py template

  • Django自带分页模块详解

    page = Paginator(obj_list, per_page) object_list : 一个列表,元...

  • 分页-Django REST框架

    分页-Django REST框架 pagination.py 分页 Django提供了几个类来帮助您管理分页数据-...

  • django 使用原生sql及分页

    python3 django 使用原生sql及分页 django 使用原生sql及分页,类似于django res...

  • 分页

    分页 分页库Paginator的基本语法 django提供了分页的工具,存在于django.core中 Pagin...

  • 第20天,分页器

    本篇写了使用Django自有的分页器paginator的用法和自定制分页器 1.1 Django之分页功能 Dj...

网友评论

    本文标题:django自带分页

    本文链接:https://www.haomeiwen.com/subject/dugckxtx.html