我一直在尝试对搜索结果页面进行分页。后者使用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
答案 0 :(得分:0)
看起来您可能正在尝试从控制器操作中访问tg.request.POST
,但是当您使用<a href="${tg.url('/results' ...
创建这些链接时,它们将是GET
请求,而不能包含{{ 1}}参数。
如果是这种情况,我建议您不要使用POST
,而应使用tg.request.POST
,它应该同时适用于tg.request.args_params
和POST
请求。