我在Pyramid应用程序网页上有一个迷你搜索表单,当用户按下Search
按钮时,会根据POST请求读取和处理内容。
我选择了提交的POST方法,因为Web表单非常复杂并且以这种方式处理它们与WTForms
很好地兼容,并且它似乎是在金字塔中处理表单的默认和方便的方式(if request.method == 'POST': ...
等)。
但是这给我带来了一个问题 - 我没有查询字符串(在request.params
中可用)以形成一个可以复制并粘贴到其他地方的URL来重做搜索。
request.params
是只读NestedMultiDict
,因此我无法在其中添加查询参数。
Web表单使用Chameleon以典型的方式呈现(return {..}
用于Chameleon模板引擎以获取它们并用于呈现HTML)。
有没有办法将查询字符串显式传递给下一个请求,以便在按下搜索后,用户会将搜索查询字符串添加到URL? (我不想使用像HTTPFound
这样的kludges重定向到同一个视图等。)
答案 0 :(得分:0)
搜索表单是应该使用GET的表单的经典示例。只需使用GET并免费获得正确的行为:)我在你的问题中看不到任何需要POST的内容。