在Turbogers中使用POST请求进行页面时如何分页?

时间:2019-06-19 14:04:14

标签: python-2.7 turbogears2 turbogears

我一直在尝试对搜索结果页面进行分页。后者使用POST请求提交我的搜索表单。

我只是将参数包含在寻呼机功能中,并且它默认使用GET方法。

"<a href="${tg.url('/results',dict(request.args_params, page=tmpl_context.paginators.results.first_page))}">«</a>"
${tmpl_context.paginators.leads.pager()}
"<a href="${tg.url('/results',dict(request.args_params,page=tmpl_context.paginators.results.last_page))}">»</a>"

使用此代码,当我尝试导航到寻呼机上的另一页时,显示错误:

  

KeyError(“没有键'filter':不是HTML表单提交(内容类型:文本/纯文本)”,)

Python:2.7
TurboGears:2.3.12

1 个答案:

答案 0 :(得分:0)

看起来您可能正在尝试从控制器操作中访问tg.request.POST,但是当您使用<a href="${tg.url('/results' ...创建这些链接时,它们将是GET请求,而不能包含{{ 1}}参数。

如果是这种情况,我建议您不要使用POST,而应使用tg.request.POST,它应该同时适用于tg.request.args_paramsPOST请求。