1.views.py
#分页:django分页:上一页、罗列所有页码、下一页,这种方式不适合数据比较多的情况,
#我们需要自定义一个分页。
def index2(request):
# for i in range(300):
# name = 'root'+ str(i)
# models.UserInfo2.objects.create(name=name,age=18,ut_id=1)
#所有行的列表
user_list = models.UserInfo2.objects.all()
#per_page每页显示10条
paginator = Paginator(user_list,10)
#当前页码
current_page = request.GET.get('page')
#当前页码对象
posts = paginator.page(current_page)
return render(request,'index2.html',{'posts':posts})
2.urls.py
from app01 import views
urlpatterns = [
url('index2.html', views.index2),
]
3.index2.html
<body>
<ul>
<!--每页显示10行-->
{% for row in posts.object_list %}
<li>{{ row.name }}</li>
{% endfor %}
<!--如果有上一页,获取上一页页码-->
{% if posts.has_previous %}
<a href="/index2.html?page={{ posts.previous_page_number }}">上一页</a>
{% endif %}
<!--如果有下一页,获取下一页页码-->
{% if posts.has_next %}
<a href="/index2.html?page={{ posts.next_page_number }}">下一页</a>
{% endif %}
</ul>
</body>