为下一个请求设置 query_string / 发送搜索 URL

Setting query_string for next request / sending search urls around

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

我选择了 POST 提交方法,因为 Web 表单在其他方面很复杂,并且以这种方式处理它们与 WTForms 配合得很好,而且它似乎是 Pyramid 中处理表单的默认且方便的方式( if request.method == 'POST': ... 等)。

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

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

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

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

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