时间:2015-07-22 09:31:45

标签: python pyramid pylons

我在Pyramid应用程序网页上有一个迷你搜索表单,当用户按下Search按钮时,会根据POST请求读取和处理内容。

我选择了提交的POST方法,因为Web表单非常复杂并且以这种方式处理它们与WTForms很好地兼容,并且它似乎是在金字塔中处理表单的默认和方便的方式(if request.method == 'POST': ...等)。

但是这给我带来了一个问题 - 我没有查询字符串(在request.params中可用)以形成一个可以复制并粘贴到其他地方的URL来重做搜索。

request.params是只读NestedMultiDict,因此我无法在其中添加查询参数。

Web表单使用Chameleon以典型的方式呈现(return {..}用于Chameleon模板引擎以获取它们并用于呈现HTML)。

有没有办法将查询字符串显式传递给下一个请求,以便在按下搜索后,用户会将搜索查询字符串添加到URL? (我不想使用像HTTPFound这样的kludges重定向到同一个视图等。)

1 个答案:

答案 0 :(得分:0)

搜索表单是应该使用GET的表单的经典示例。只需使用GET并免费获得正确的行为:)我在你的问题中看不到任何需要POST的内容。