我在我的网址.py公司名称:
from haystack.forms import HighlightedModelSearchForm
from haystack.query import SearchQuerySet
from haystack.views import SearchView
from articles.models import Article
article_sqs = SearchQuerySet().models(Article)
urlpatterns = patterns('',
...
url(r'^article/search/$', SearchView(
template='articles/search/results.html',
searchqueryset=article_sqs,
results_per_page=10,
form_class=HighlightedModelSearchForm
), name='haystack_search'),
...
它工作得很好,但我需要捕获搜索关键字来记录它。在
我怎样才能捕捉到它?在
你的帮助将不胜感激。在
我想做一些类似的事情,所以我创建了一个名为搜索的应用程序
搜索/模型.py
搜索/网址.py
^{pr2}$当然,在我的项目URL中,我添加了以下规则:
搜索/视图.py
if 'page' not in request.GET
这样只在搜索结果的第一页上保存搜索查询每个SearchQuery在数据库中都是唯一的。在
每个SearchTerm的SearchQuery都会记录附加信息,例如}搜索到的术语。在
user
(可为空)和{view = SearchView()
和return view(request)
使其在记录搜索查询后,为该请求调用默认的haystack视图。在可能最简单的解决方案是将SearchView子类化并在urlpatterns中使用它。在
不幸的是,haystacksearchview的编写方式与基于Django类的视图不同(可能是因为它是在CBV引入Django之前编写的),但是它是非常简单的代码https://github.com/toastdriven/django-haystack/blob/master/haystack/views.py#L13
这样的方法应该有效:
与Haystack相关的
saved_searches
应用程序允许存储用户的搜索历史:https://github.com/toastdriven/saved_searches
相关问题 更多 >
编程相关推荐