带有其他查询参数的金字塔route_url

Sam*_*pak 14 python url-routing pyramid

在金字塔结构,功能route_pathroute_url用于生成从路由结构的网址.所以,如果我有路线:

config.add_route('idea', 'ideas/{idea}')
Run Code Online (Sandbox Code Playgroud)

我可以使用它生成url

request.route_url('idea', idea="great");
Run Code Online (Sandbox Code Playgroud)

但是,有时我可能想添加额外的get参数来生成url,如:

idea/great?sort=asc
Run Code Online (Sandbox Code Playgroud)

这该怎么做?

我试过了

request.route_url('idea', idea='great', sort='asc')
Run Code Online (Sandbox Code Playgroud)

但那没用.

Sam*_*pak 31

您可以向传递_query字典的url添加其他查询参数

request.route_url('idea', idea='great', _query={'sort':'asc'})
Run Code Online (Sandbox Code Playgroud)

  • 如果你在回答你自己的问题,你没有理由不接受它;-) (2认同)

lab*_*uer 5

如果您使用的是Mako模板,_query={...}则无法使用; 相反,你需要做:

${request.route_url('idea', idea='great', _query=(('sort', 'asc'),))}
Run Code Online (Sandbox Code Playgroud)

2元组的元组作为字典.