Pylons路由url_for为map.resource

时间:2011-06-06 14:35:46

标签: python routes pylons

如何使用url_for获取宁静路线资源的获取,发布,放置和删除网址?

例如,如何获取id = 1的资源的PUT URL,以及routing.py中定义的路由,如下所示:

map.resource('user', 'users', controller='user')

我知道正确的网址是/users/1,但我不想对其进行硬编码。

2 个答案:

答案 0 :(得分:1)

退房:http://routes.groovie.org/restful.html

url('user', id=1)

应该给你'/ users / 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_forredirect_to经过重新设计。如果要在控制器中重定向,则必须写:

redirect(url(controller="user", action="some_action", id=1))

或者在你的情况下:

url(controller="user", action="some_action", id=1)

参考: Pylons 1.0 Released