我使用django和haystack嗖的一声,我有几个问题:
1)当我尝试搜索smth时,我应该选择所有已经编入索引的模型。如何设置系统以便在任何地方找到值(在所有型号上)?
2)我有搜索输入框,但它不适用于haystack网址。所以我的模板(我使用bootstrap):
<form method="get" action="/search/" class="navbar-search pull-left">
<input type="text" class="search-query" placeholder="Search">
</form>
我在教程中有搜索网址:
(r'^search/', include('haystack.urls')),
如何说这个表格立即开始搜索并将数据发送到haystack?
答案 0 :(得分:0)
您需要在项目根目录的search_index.py文件中创建RealTimeSearchIndex类,并使用haystack注册这些索引。
然后,您需要使用haystack manage.py reindex
命令重新索引数据。
然后,您需要为haystack将生成的搜索页面提供模板。
继续阅读文档,它就在那里。
答案 1 :(得分:0)
第2部分,
因为haystack使用?q =来获取查询,所以你应该将name =“q”放入输入字段,
<form method="get" action="/search/" class="navbar-search pull-left">
<input name="q" type="text" class="search-query" placeholder="Search">
</form>
第1部分,
您可以将search_indexes.py放入每个模型文件夹中。不确定是否有更有效的方法。如果您想让用户选择搜索哪些模型,您可以使用ModelSearchView。