我的页面/视图结构如下:
index.html => search_results.html => object_details.html,
in which user can make a POST request in object_details.html.
我尝试在POST请求后重定向回search_results.html,但同时保留两个查询字符串。
搜索结果的网址如下所示,可以进行一次或两次查询:
www.example.com/search-results/?search_post=xxxxx&search_author=xxxxx
我能得到我想要的最接近的方法是使用:
return redirect(reverse('search-results') + '?' + 'search_post={{search_post}}'+'&'+'search_author={{search_author}}')
然而,这实际上将在search_results.html中的搜索表单的2个字段中的每一个中显示“{{search_post}}”和“{{search_author}}”,并且将返回URL:
**一个
另外,我的search_results视图包含以下内容:
search_post = request.GET.get('search_post')
search_author = request.GET.get('search_author')
我该怎么做?尝试使用类似问题的答案,但尚未弄清楚。谢谢
2条答案
按热度按时间2vuwiymt1#
views.py
x7rlezfr2#
你只是在引号上犯了一个错误。你不能使用与django模板相同的语法。尝试使用f字符串:
关于字符串的文档:https://peps.python.org/pep-0498/
好的,在你回答之后,我对你的视图做了一个重构。你可以在你的表单处理的每一步重用
results
来进行下一步的过滤。而且你的,我认为,你的elif
链接不好,出错了。