代码之家  ›  专栏  ›  技术社区  ›  User

Web2py将索引和视图控制器功能组合在同一个url上?

  •  0
  • User  · 技术社区  · 12 年前

    我有一个客户索引函数和一个客户视图函数,分别列出所有客户和查看单个客户。网址如下:

    www.example.com/customers

    www.example.com/customers/view/1

    使用默认的web2py设置,将其映射到我的 index() view() 功能。

    这是可以的,但是url的“视图”部分可能是多余的。相反,我希望在我的应用程序中有类似stackoverflow的URL。也就是说,我希望我的应用程序表现得像

    www.stackoverflow.com/questions (这显示了问题列表)

    www.stackoverflow.com/questions/4 (这显示了一个问题)

    (请注意,URL中没有“视图”。也不要介意stackoverflow附加的slug)

    所以我的问题是如何设置web2py来实现这一点?我必须为我的 索引() 视图() 函数转换为单个函数,检测是否存在ID参数?或者,我可以将它们作为单独的函数,并以某种方式让web2py智能地映射到适当的控制器函数吗?

    1 回复  |  直到 12 年前
        1
  •  1
  •   Anthony    12 年前

    使用 pattern-based rewrite system ,您可以在/web2py/routes.py中执行类似操作:

    routes_in = (
        ('/myapp/customers/(?P<id>\d+)$', '/myapp/customers/view/\g<id>'),
    )
    
    routes_out = (
        ('/myapp/customers/view/(?P<id>\d+)$', '/myapp/customers/\g<id>'),
    )
    
    推荐文章