如何使用url_for
获取宁静路线资源的获取,发布,放置和删除网址?
例如,如何获取id = 1的资源的PUT URL,以及routing.py
中定义的路由,如下所示:
map.resource('user', 'users', controller='user')
我知道正确的网址是/users/1
,但我不想对其进行硬编码。
答案 0 :(得分:1)
答案 1 :(得分:0)
在routes.py中,您的路线应为:
map.resource('user', 'users/{id}', controller='user' action="some_action")
在您的控制器中,您可以使用url_for
获取此网址,如下所示:
url_for(controller="user", action="some_action", id=1)
参考: Chapter 9: URLs, Routing and Dispatch ,Pylons书。
我必须警告你,这是在Pylons 0.9.7中使用的,但在Pylons 1.0中没有使用它。 url_for
和redirect_to
经过重新设计。如果要在控制器中重定向,则必须写:
redirect(url(controller="user", action="some_action", id=1))
或者在你的情况下:
url(controller="user", action="some_action", id=1)