Django,Haystack:重定向到视图中的搜索结果网址

时间:2016-06-13 17:31:11

标签: redirect search view django-haystack

我正在使用Django Haystack和Woosh作为Searchengine。 在我的应用程序中,我有一个完美的搜索栏。

如果我在搜索表单中输入内容,我会得到以下网址: /订单/ Q = “” 搜索字符串 “”

以下视图给出了正确的结果。从结果我建立了多种形式。 当提交这些表单中的一个时,我更新了值并将它们重定向到它们来自的相同URL,这使得整个视图再次运行(更好的是不要问为什么)。 我的问题是搜索字符串,请参阅下面的最后一行。

我的观点包含类似的内容

    ...
    if 'q' in request.GET:
    search_form = SearchForm(request.GET)
    if search_form.is_valid():
        cd = search_form.cleaned_data
        results = SearchQuerySet().models(MyLookupModel).filter(content=cd['q']).load_all()
        results_pk = results.values_list('pk', flat=True)
    ...
    ...
    if myform_1.is_valid():
        # do something
        return HttpResponseRedirect("/order/" + ###What to put here###)

没有search_form,我只需重定向到/ order /,这会使视图再次运行。 这意味着当用户搜索某些内容时,他会获得结果,如果他进行了更改并提交了这些内容,我希望他能够使用更新的模型再次显示相同的结果页面。

即。如果有人搜索“哈利波特”,结果就在

/ order /?q =哈利波特

所以我的HttpResponseRedirect应该看起来像

return HttpResponseRedirect("/order/?=Harry Potter")

我无法弄清楚如何获取searchquery或调用该视图的url。当我使用像get_full_path()这样的东西时,我只得到... / order /而没有搜索查询。

我非常感谢每一位帮助,谢谢你提前。 最好的祝福, 伯尼

0 个答案:

没有答案