django实现搜索功能

1998lu 1998lu     2023-01-20     536

关键词:

实现功能:用户在搜索框输入关键词,过滤出带有关键词的文章。

新闻模型如下:

models.py

class Notices(models.Model):
    Category_List = ((‘新闻动态‘, ‘新闻动态‘), (‘通知公告‘, ‘通知公告‘),)
    NoticeID=models.AutoField(primary_key=True)
    NoticeTitle=models.CharField(‘新闻标题‘,max_length=50)
    NoticeContent = UEditorField(u‘内容    ‘, width=800, height=300, toolbars="full", imagePath="images/",filePath="files/",default=‘‘)
    NoticeData=models.DateField(‘时间‘,auto_now_add=True)
    NoticeDesc=models.CharField(‘新闻描述‘,max_length=50,blank=True)  #新闻描述
    NoticeUser=models.CharField(‘发布人‘,max_length=50,blank=True)#发布人
    #NoticeCategory = models.CharField(‘新闻分类‘,default=‘‘, max_length=10)  # 新闻分类
    NoticeCategory=models.CharField(‘新闻分类‘,choices=Category_List,default=1,max_length=10) #新闻分类
    class Meta:
        #结果集按照何种方式排序
        #ordering=[‘-time_added‘]
        #在数据库中的表名
        db_table = "std_web_notices"
        #对象的名称
        verbose_name = "新闻"
        #对象复数形式的名称
        verbose_name_plural = verbose_name

    def __unicode__(self):
        return self.title

 在前端html表单进行修改:

<form role="search" method="get" id="searchform" action="% url ‘std_web:xwdt_search‘ %">
  % csrf_token %          
  <input type="search" name="q" placeholder="标题过滤" required>        
  <button type="submit">搜索</button>

 %csrf_token%是django用来防御跨站请求伪造的机制。

从前端代码看到使用get方法,当用户提交搜索后,通过action找到相应的url进行跳转。

定义视图函数

views.py

def xwdt_search(request):
    q=request.GET.get(‘q‘)
    error_msg= ‘‘
    if not q:
        error_msg=‘请输入关键词‘
        return render(request,‘jsyw/xwdt.html‘,‘error_msg‘:error_msg)
    post_list=Notices.objects.filter(NoticeTitle__icontains=q)
    return render(request, ‘jsyw/xwdt.html‘, ‘error_msg‘: error_msg,‘post_list‘:post_list)

q为查询框的name   

这里的查询条件NoticeTitle__icontains=q是指NoticeTitle包含q

绑定URL

url(r‘^xwdt_search/‘,views.xwdt_search,name=‘xwdt_search‘),

  

 

django-天天生鲜项目从0到1-009-搜索功能实现(django-haystack+whoosh+jieba)(代码片段)

...:搜索框架+搜索引擎(包括分词方式)这里搜索框架选择:django-haystack:是django的开源搜索框架,该框架支持Solr,Elasticsearch,Whoosh,*Xapian*搜索引擎,不用更改代码,直接切换引擎,减少代码量。搜索引擎使用:Whoosh:这是一个由纯Py... 查看详情

django之搜索引擎功能实现(代码片段)

一、介绍  我们在浏览一些网站时,发现都会有一个搜索框,如果是新闻类网站,就会搜索到包含关键字的新闻;如果是课程网站,就会搜索到与关键字相关的课程   这个怎么实现呢?不难想到,可以使用数据库的... 查看详情

django博客实现简单的全文搜索(代码片段)

...复杂的功能,但对于一些简单的搜索任务,我们可以使用DjangoModel层提供的一些内置方法来完成。现在我们来为我们的博客提供一个简单的搜索功能。概述博客文章通常包含标题和正文两个部分。当用户输入某个关键词进行搜索... 查看详情

django实现查询功能(代码片段)

1.index首页显示<divclass="form-grouppull-right"style="float:left"><formaction=""method="get"><inputname="q"type="text"value=""class="form-control"placeholder="请输入搜索条件"id="nav-search-input"s 查看详情

django实现微电影网站

主要实现功能:注册,登陆,播放视频,评论视频,xadmin实现后台提供视频管理,权限管理等等首页(搜索,筛选)搜索页面播放页面个人中心后台源码下载环境配置:python2.7 pipinstall-rrequirements.txt创建数据库将movie.sql文件导入... 查看详情

多语言 django 网站上的搜索功能

】多语言django网站上的搜索功能【英文标题】:searchfunctionalityonmulti-languagedjangosite【发布时间】:2010-12-0414:59:48【问题描述】:我正在构建一个多语言Django站点,并且我正在使用django-transmeta进行模型数据翻译。现在我想知道是... 查看详情

如何实现删除查询的搜索栏按钮? Django环境)

】如何实现删除查询的搜索栏按钮?Django环境)【英文标题】:Howtoimplementabuttonofthesearchbarerasingthequery?Djangoenvironment)【发布时间】:2019-09-2013:23:05【问题描述】:我正在用Django开发一个webapp。我开发了一个带有两个按钮的漂亮搜... 查看详情

django实现组合搜索的方法示例

...化了纯模板语言的判断) 二、基本原理原理都是通过django路由系统,匹配url筛选条件,将筛选条件作为数据库查询结果,返回给前端。例 查看详情

在 django 搜索中没有得到结果,但个人搜索工作正常

】在django搜索中没有得到结果,但个人搜索工作正常【英文标题】:notgettingresultsindjangosearchbutindividualsearchingisworkingfine【发布时间】:2020-07-0716:08:02【问题描述】:我的问题是,当我向单个搜索字段添加简单功能时,它对于单个... 查看详情

djangohaystack全文检索与关键词高亮(代码片段)

...在我们就来为博客添加RSS订阅功能。在此之前我们使用了Django内置的一些方法实现了一个简单的搜索功能。但这个搜索功能实在过于简单,没有多大的实用性。对于一个搜索引擎来说,至少应该能够根据用户的搜索关键词对搜索... 查看详情

如何在 Django 中基于全文搜索功能 SearchRank 创建自定义排名?

】如何在Django中基于全文搜索功能SearchRank创建自定义排名?【英文标题】:HowtocreateacustomrankbasedonFullTextSearchFunctionSearchRankinDjango?【发布时间】:2018-02-1804:52:09【问题描述】:我想自定义SearchRank给出的排名结果,通过根据课程模... 查看详情

django实现组合搜索的方法示例(代码片段)

...化了纯模板语言的判断) 二、基本原理原理都是通过django路由系统,匹配url筛选条件,将筛选条件作为数据库查询结果,返回给 查看详情

05.django搜索与过滤(代码片段)

django-filterhttps://github.com/carltongibson/django-filterhttps://django-filter.readthedocs.io/en/master/guide/rest_framework.htmlhttps://django-filter.readthedocs.io/en/master/ref/filters.htmlhttps://github.com/carltongibson/django-filterpipinstalldjango-filterINSTALLED_APPS=[...‘django_filters... 查看详情

django实现分页功能(代码片段)

...站上,我们发表文章经常会对博客进行分页,下面代码用django实现:django有它自带的分页功能:Paginator不过我们用在它基础上开发的另一个包:django-pure-pagination 先了解一下这个包特性:1、使用与django.core相同的API,因此与... 查看详情

Django Celery 实现 - OSError:[Errno 38] 功能未实现

】DjangoCelery实现-OSError:[Errno38]功能未实现【英文标题】:DjangoCeleryimplementation-OSError:[Errno38]Functionnotimplemented【发布时间】:2011-03-1920:19:26【问题描述】:我安装了django-celery并尝试启动工作服务器,但我收到一个OSError,表明某... 查看详情

django实现上传图片功能(代码片段)

...载网址的方式来显示的话其实也挺麻烦的,我们通过使用django-filer这个模块实现将图片文件直接放在自己的网站上。感兴趣的同学可以看下官方介绍:https://github.com/divio/django-filer 1.使用pip安装。pipinstalldjango-filer这个模块需... 查看详情

pythonweb简历网站开发

1.搭建环境: -安装Python、Django、Vue开发环境2.配置环境: -配置Django项目架构,安装并配置Vue-cli以便使用Vue来实现前端功能3.页面设计: -主页面:包含网站首页、用户登录注册、管理中心等功能 -用户简历页面:... 查看详情

如何在 django 中显示来自 ajax 搜索结果的产品?

】如何在django中显示来自ajax搜索结果的产品?【英文标题】:Howcandisplayproductscomingfromajaxsearchresultindjango?【发布时间】:2021-09-1620:14:02【问题描述】:问题搜索功能正在工作,并且从Django视图搜索功能中检索了值,但现在我不知... 查看详情