<p>{{ blog.title }}</p>
<p>{{ blog.content }}</p>
<hr>
{% for%}
</body>
</html>

3接着python manage.py runserver之后打开网址127.0.0.1:8000,你会看到页面呈现31篇文章,若是文章篇数过多,会导致网页加载迟缓甚至卡死,并且十分不美不雅,是以我们就想到利用分页器来解决这个问题 。

利用django自带的paginator分页器1在views.py添加代码
2from django.shortcuts import rer
from blog.models import Blog
from django.core.paginator import Paginator
def home(request):
context = {}
blogs = Blog.objects.all()
paginator = Paginator(blogs, 5) # 每5份内容分页一次
page_num = request.GET.get('page',1) # 获取url参数,127.0.0.1:8000/?page=<value>
# 不法数值则返回1 数值为空也返回1 如 127.0.0.1:8000/?page=asdsa
page_blogs = paginator.get_page(page_num) #获取当前(页码)所需要的文章列表 半斤八两于一个容器
context['blogs'] = page_blogs
return rer(request, "home.html", context)

3这里我们利用了django的Paginator,
用法:Paginator(数据列表,每页中含几多数据)
之后,我们再次打开网页127.0.0.1:8000,会发现页面只显示了10篇文章!我们在网址上输入http://127.0.0.1:8000/?page=2,当作功了!


再次点窜views视图1这里为了结果加倍较着,我点窜了paginator = Paginator(blogs, 2),每一页中只含两篇文章!
2from django.shortcuts import rer
from blog.models import Blog
from django.core.paginator import Paginator
def home(request):
context = {}
blogs = Blog.objects.all()
paginator = Paginator(blogs, 2) # 每2份内容分页一次
page_num = request.GET.get('page',1) # 获取url参数,127.0.0.1:8000/?page=<value>
# 不法数值则返回1 数值为空也返回1 如 127.0.0.1:8000/?page=asdsa
page_blogs = paginator.get_page(page_num) #获取当前(页码)所需要的文章列表 半斤八两于一个容器
page_list = [x for x in range(page_blogs.number -2, page_blogs.number + 3 )if x in paginator.page_range]
print(page_list)
# 添加省略号
if page_list[0] -1 >= 2: # 判定当前第一个元素减1是否年夜于2
page_list.insert(0, "...") # 则插入该数构成为第一个元素 ...
if paginator.num_pages - page_list[-1] >= 2: # 判定最年夜页码数-最后一个元素相减是否年夜于2
猜你喜欢
- Word2003中段前分页的技能操作
- 如何在虚拟环境中安装Django
- word怎么进行章节分页
- 如何调整excel分页线,使打印内容在一页上
- 富士通6130 更换搓纸轮分页器
- word表格单元格分页断开怎么办
- 如何一次性删除EXCEL中所有分页符
- 怎么去掉分页符
- excel怎么设置自动分页小计
- wps表格如何设置自动分页符
