分页小例子

views.py

from django.shortcuts import render
from booktest.models import *
from django.core.paginator import *


# 进行分页练习
def herolist(request, pindex):
    if pindex == '':
        pindex = '1'
    list1 = HeroInfo.objects.all()
    paginator = Paginator(list1, 5)
    page = paginator.page(int(pindex))
    context = {'page': page}
    return render(request, 'booktest/herolist.html', context)
herolist.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<ul>
{% for hero in page%}
<li>{{ hero.hname }}</li>
{% endfor %}
</ul>
<hr>
{% for index in page.paginator.page_range %}
    <a href="/herolist/{{ index }}/">{{ index }}</a>
{% endfor %}
</body>
</html>

配置好url

from django.urls import path, re_path
from booktest import views


urlpatterns = [
    re_path('herolist/(\d*)', views.herolist),
]

 

urls.py

from django.urls import path, re_path
from booktest import views


urlpatterns = [
    re_path('herolist/(\d+)/', views.herolist),
]

views.py和上面一样

herolist.html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<ul>
{% for hero in page%}
<li>{{ hero.hname }}</li>
{% endfor %}
</ul>
<hr>
{% for index in page.paginator.page_range %}
    {% if index == page.number %}
        {{ index }}
    {% else %}
        <a href="/herolist/{{ index }}/">{{ index }}</a>
    {% endif %}
{% endfor %}
</body>
</html>



posted @ 2019-02-28 16:56  Miss-Gao  阅读(149)  评论(0编辑  收藏  举报