Django5 分页

urls

from django.contrib import admin
from django.urls import path, include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include("App.urls"))
]

App.urls

from django.urls import path

from App import views
app_name = 'App'
urlpatterns = [
    # 分页
    path('page/',views.fenye, name='page'),
    path('page/<int:page>/',views.fenye, name='page'),
]

App.views

from App.models import User
from django.shortcuts import render
from django.core.paginator import Paginator

def fenye(request,page=1):
    users = User.objects.all()
    # 产生分页器
    paginator = Paginator(users,10)
    # 分页对象
    # page表示当前页
    pager = paginator.page(page)
    for user in paginator.object_list:
        print(user,type(user))
    return render(request,"userlist.html",locals())

App.models

from django.db import models

class User(models.Model):
    uid = models.AutoField(primary_key=True)
    username = models.CharField(unique=True, max_length=30)
    password = models.CharField(max_length=128)
    regtime = models.DateTimeField(auto_now_add=True)

    class Meta:
        db_table = 'user'

    def __str__(self):
        return self.username + str(self.uid)

userlist.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<table border="1" cellspacing="0" width="80%">
    <tr>
        <td>用户名</td>
        <td>密码</td>
    </tr>
    {% for user in pager.object_list %}
        <tr>
            <td>{{ user.username }}</td>
            <td>{{ user.password }}</td>
        </tr>
    {% endfor %}
</table>
<div>
{#    paginator.page_range 页码列表   #}
    {% for page in paginator.page_range %}
        <a href="{% url 'App02:page' page=page %}">{{ page }}</a>
    {% endfor %}
</div>
</body>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值