Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redirect Django,Haystack:重定向到视图中的搜索结果URL_Redirect_Search_View_Django Haystack - Fatal编程技术网

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

Redirect Django,Haystack:重定向到视图中的搜索结果URL,redirect,search,view,django-haystack,Redirect,Search,View,Django Haystack,我正在使用Django Haystack和Woosh作为搜索引擎。 在我的应用程序中,我有一个搜索栏,它工作得很好 如果我在搜索表单中输入了一些内容,我会得到如下URL: /订单/?q=“”搜索字符串“” 下面的视图给出了正确的结果。根据这些结果,我构建了多个表单。 当提交其中一个表单时,我会更新这些值并将它们重定向到它们来自的同一url,这会使整个视图再次运行(最好不要问为什么)。 我的问题是搜索字符串,请参见下面的最后一行 我的观点是这样的 ... if 'q' in req

我正在使用Django Haystack和Woosh作为搜索引擎。 在我的应用程序中,我有一个搜索栏,它工作得很好

如果我在搜索表单中输入了一些内容,我会得到如下URL: /订单/?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###)
在没有搜索表单的情况下,我只是重定向到/order/,这使视图再次运行。 这意味着,每当用户搜索某个内容时,他都会得到结果,如果他进行了更改并提交了这些更改,我希望他能够获得与更新模型相同的结果页面

i、 e.如果有人搜索《哈利波特》,搜索结果如下:

/订单/?q=哈利波特

所以我的HttpResponseRedirect应该是

return HttpResponseRedirect("/order/?=Harry Potter")
我不知道如何获取searchquery或调用视图的url。当我使用诸如get\u full\u path()之类的方法时,我只获取…/order/而不使用searchquery

我真的很感激你的帮助,提前谢谢你。 顺致敬意, 伯尼