为下一个请求设置 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 的内容。
我在 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 的内容。