没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
1.Django 搜索结果分页的实现 在这里我们用django自带的分页模块来实现 这个paginator对象中带有如下属性: #per_page:每页显示条目数量 #count:数据总个数 #num_pages:总页数 #page_range:总页数的索引范围,如:(1,10),(1,200) #page:page对象 view.py #先导包 from django.shortcuts import render from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger #搜索和分页的实现 @csrf
资源推荐
资源详情
资源评论
Django 搜索结果分页的实现搜索结果分页的实现 以及点击下一页搜索条件丢失可以及点击下一页搜索条件丢失可
能的原因分析能的原因分析
1.Django 搜索结果分页的实现搜索结果分页的实现
在这里我们用在这里我们用
django
自带的分页模块来实现自带的分页模块来实现
这个paginator对象中带有如下属性:
#per_page:每页显示条目数量
#count:数据总个数
#num_pages:总页数
#page_range:总页数的索引范围,如:(1,10),(1,200)
#page:page对象
view.py
#先导包
from django.shortcuts import render
from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger
#搜索和分页的实现
@csrf_exempt
def content_search(request):
# 最开始从index.html中的中获得
#这里index.html为首页
content_keywords = request.POST.get('content_key', '')
if content_keywords == '':
# 从searchResult.html中的下一页中获得
#这里searchResult.html为显示搜索结果的那一页
content_keywords = request.GET.get('content_keywords', '')
#搜索:注意这里只对内容进行了搜索,对标题的搜索视情况自己补充
#Bookmark为数据库里全部的需要搜索的内容
#bookmarks为搜索后的符合条件的内容
bookmarks = Bookmark.objects.filter(content__icontains=content_keywords)
#pageum是从前端searchResult.html中的下一页中获得
#若没有pageum值默认为1
pagenum = int(request.GET.get('pagenum', 1))
#分页,将bookmarks(也就是搜索后的内容10个一组分页)
p = Paginator(bookmarks, 10)
try:
good_list = p.page(pagenum)
except PageNotAnInteger:
good_list = p.page(1)
except EmptyPage:
good_list = p.page(p.num_pages)
return render(request, 'searchResult.html', {
'good_lists': good_list,
'content_keywords': content_keywords,
#记得把content_keywords返回给前端,保证点击下一页的时候搜索条件不会丢失
})
searchResult.html
涉及很多样式,复制代码可先删除
id
和
class
{% for bookmark in good_lists %}
{% endfor %}
{{ forloop.counter }}
{{ bookmark.name }}
总页数:{{ good_lists.paginator.num_pages }}
资源评论
weixin_38688371
- 粉丝: 8
- 资源: 889
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功