Django 视野中的干草堆
伙计们。我就是不能从Haystack教程/文档跳到我的(简单的)应用程序 我已经按照教程的要求完成了Haystack/Whoosh,并提供了结果。现在,我想从(比如说)我的存档页面的表单中搜索,并将结果返回到同一页面,而不是单独的搜索页面 我已经准备好了,显示搜索表单,并返回查询:Django 视野中的干草堆,django,django-haystack,Django,Django Haystack,伙计们。我就是不能从Haystack教程/文档跳到我的(简单的)应用程序 我已经按照教程的要求完成了Haystack/Whoosh,并提供了结果。现在,我想从(比如说)我的存档页面的表单中搜索,并将结果返回到同一页面,而不是单独的搜索页面 我已经准备好了,显示搜索表单,并返回查询: def blog_list(request, template_name="blog/blog_list.html"): query=request.GET.get('q','') form=Mode
def blog_list(request, template_name="blog/blog_list.html"):
query=request.GET.get('q','')
form=ModelSearchForm({'q': query })
extra_context = {
'query': query,
'form': form,
}
return object_list(
request,
queryset=Entry.live.all(),
extra_context=extra_context
)
但是在模板中,{%for result in page.object_list%}
没有返回任何内容。我一半的问题是,我不知道page.object\u list
来自何处,也无法从教程/文档中了解它
有人能帮我解释一下吗?谢谢。您还没有传入任何名为
的页面,所以它自然是空的。它不会“来自”任何地方,除非你明确地传递它
您似乎没有做的部分实际上是执行搜索并将结果传递给模板。看看Haystack的内置功能是如何实现的——它调用表单的.search()
方法,将结果传递给Paginator
类,然后将结果传递给上下文。我想我可以回答,当我设置(r'^search/',include('Haystack.url'),
时,我并没有特别传递任何东西,但它确实存在。但是感谢你的指导——当我看到基本搜索
(并意识到我在看什么)时,它就就位了。我也遇到了同样的问题。我想创建一个简单的自定义搜索,但无法从教程中跳转。你有没有想过?