Как разбить на страницы при использовании запросов POST, в турбогенераторах? - PullRequest
0 голосов
/ 19 июня 2019

Я пытался разбить страницу результатов поиска на страницы.Который использует запросы 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 («Нет ключа,« фильтр »: не отправка формы HTML (Content-Type: text / plain)»,)

Python: 2,7
TurboGears: 2.3.12

1 Ответ

0 голосов
/ 20 июня 2019

Похоже, что вы пытаетесь получить доступ к tg.request.POST из действия вашего контроллера, но если вы используете <a href="${tg.url('/results' ... для создания этих ссылок, они будут GET запросами, которые не могут иметь POST параметров.

Если это так, я предлагаю вам не использовать tg.request.POST, а использовать tg.request.args_params вместо этого, что должно работать как для POST, так и GET запросов.

...