使用 Django Haystack 设置搜索页面需要放入他们的 URLconf 片段url(r'^search/', include('haystack.urls'))
。然而,这意味着(至少从我对 Django/MVC 极其基本的理解来看),没有简单的方法可以传递额外的上下文(即额外的字典键/值)以呈现到页面上。
特别是,我想自定义一个搜索字段来镜像从 GET 请求传递到页面的变量:
<form method="get" action=".">
<input type="text" name="q" value="">
<!-- result html here -->
</form>
假设参数?q=twitter
作为 GET 请求的一部分附加到 URL;我想让value
选择器等于twitter
. 如果我可以控制视图,我可能会这样做:
if request.method == 'GET':
q = request.GET['q']
return render(request, 'template.html', {'q': q})
然后用作HTML 中选择器q
的值。value
<input>
除了编辑 Haystack 源代码之外,还有什么方法可以简单地完成此任务?