Ответ 1
Вы можете добавить дополнительные аргументы запроса для URL-адреса, передающего словарь _query
request.route_url('idea', idea='great', _query={'sort':'asc'})
В структуре Pyramids функции route_path
и route_url
используются для генерации URL-адресов из конфигурации маршрутов. Итак, если у меня есть маршрут:
config.add_route('idea', 'ideas/{idea}')
Я могу создать для него URL-адрес, используя
request.route_url('idea', idea="great");
Однако иногда я могу добавить дополнительные параметры get для генерации URL-адреса, например:
idea/great?sort=asc
Как это сделать?
Я пробовал
request.route_url('idea', idea='great', sort='asc')
Но это не сработало.
Вы можете добавить дополнительные аргументы запроса для URL-адреса, передающего словарь _query
request.route_url('idea', idea='great', _query={'sort':'asc'})
Если вы используете шаблоны Мако, _query={...}
не будет работать; вам нужно сделать:
${request.route_url('idea', idea='great', _query=(('sort', 'asc'),))}
Кортеж из 2-кортежей работает как словарь.