2013-09-27 41 views
0

我有一個客戶索引功能和一個客戶查看功能,可以分別列出所有客戶和查看單個客戶。網址是這樣的:Web2py結合索引和視圖控制器功能在相同的網址?

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指向的slu))

所以我的問題是如何設置web2py來做到這一點?我是否必須將我的index()view()函數的邏輯組合成一個函數,以檢測是否有ID參數?或者我可以保留它們作爲單獨的功能,並以某種方式讓web2py智能地映射到正確的控制器功能?

回答

1

使用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>'), 
) 
相關問題