Django博客开发教程:实现搜索页面

您所在的位置:网站首页 怎么制作百度搜索页面 Django博客开发教程:实现搜索页面

Django博客开发教程:实现搜索页面

2023-07-21 14:12| 来源: 网络整理| 查看: 265

搜索列表页的URL是:网站域名/s/搜索关键词,搜索页面,同样我们直接复制一份list.html页面,然后更名为search.html。

视图函数代码:

def search(request):     ss=request.GET.get('search')#获取搜索的关键词     list = Article.objects.filter(title__icontains=ss)#获取到搜索关键词通过标题进行匹配     remen = Article.objects.filter(tui__id=2)[:6]     allcategory = Category.objects.all()     page = request.GET.get('page')     tags = Tag.objects.all()     paginator = Paginator(list, 10)     try:         list = paginator.page(page) # 获取当前页码的记录     except PageNotAnInteger:         list = paginator.page(1) # 如果用户输入的页码不是整数时,显示第1页的内容     except EmptyPage:         list = paginator.page(paginator.num_pages) # 如果用户输入的页数不在系统的页码列表中时,显示最后一页的内容     return render(request, 'search.html', locals())

里面要留意的是title__icontains=ss,这话的意思是,用搜索关键词ss和文章标题进行匹配,如果标题包含关键词ss就会被筛选出来,__icontains方法不区分字母大小写。

打开tempates/base.html页面,找到头部的搜索代码,把action的URL修改为下面的:

tempates/base.html action="{% url 'index' %}s/"

打开tempates/search.html页面,对照下面的代码进行修改。

您当前位置:

tempates/search.html 您的位置: 首页 »  关键词:{{ ss }}

搜索的关键词:

tempates/search.html     关键词:{{ ss }}

搜索出来的文章列表:

tempates/search.html {% for list in list %}                                     {{ list.title }}     {{ list.excerpt }}

    {{ list.category.name }}         {{ list.created_time|date:"Y年m月d日" }}               {% endfor %}

列表分页:

tempates/search.html     {% if list.has_previous %}     上一页     {% else %}           {% endif %}         {% for num in list.paginator.page_range %}             {% if num %}                 {% ifequal num list.number %}                     {{ num }}                 {% else %}                     {{ num }}                 {% endifequal %}             {% else %}                 ...             {% endif %}         {% endfor %}         {% if list.has_next %}             下一页         {% else %}                      {% endif %}

留意:这里面的分页URL和列表页、标签页的分页URL是不一样的,自己留意对比。然后可以自己尝试修改和列表页面一样的URL结构试试。

搜索页面实现完毕!更多疑问可以加微信:VIPdjango交流!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3