【问题标题】:Pylons Routes url_for for a map.resource用于 map.resource 的 Pylons Routes url_for
【发布时间】:2011-06-06 14:35:45
【问题描述】:

如何使用url_for 获取restful 路由资源的get、post、put 和delete URL?

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

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

我知道正确的 URL 是 /users/1,但我不想硬编码。

【问题讨论】:

    标签: python routes pylons


    【解决方案1】:

    查看:http://routes.groovie.org/restful.html

    url('user', id=1)
    

    应该给你'/users/1'

    【讨论】:

    • 谢谢!由于某种原因没有找到该页面。
    【解决方案2】:

    在 routes.py 你的路线应该是:

    map.resource('user', 'users/{id}', controller='user' action="some_action")
    

    在您的控制器中,您可以使用url_for 获取此 URL,如下所示:

    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

    【讨论】:

      猜你喜欢
      • 2011-01-31
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多