2011-11-18 57 views
0

早上,Django路線 - 查詢路線從DB

與我的django網站,我想使網址儘可能短。 所以不是, /用戶/約翰 /用戶/羅納德

我只是希望它像/約翰和/羅納德

所以在我的路線我有它配置了所有的請求去一個

urlpatterns = patterns('', 
    .... 
    (r'^about/$', 'frontend.views.about'), 
    (r'^(.*?)/$', 'users.views.index') 
) 

這意味着基本上所有的請求將由用戶控制器處理,如果沒有處理其他地方,哪個不壞。

但我想做同樣的蛋糕。

所以不是/蛋糕/巧克力塗層蛋糕纔有/巧克力塗層蛋糕

所以真的,它會是很好,如果在我的用戶的方法,反而提高了404我可以只是一些如何呼叫嘗試下一個路線,所以它是有條件的一個數據庫字段。

有意義嗎?

回答

0

在這種情況下,我寧願有一個單獨的調度員視圖(與用戶無關,因爲它不是關於用戶)。您可以在列表中設置模型的順序並遍歷它直到第一個成功,並以此結果作爲參數調用相應的視圖(用戶視圖,餅圖視圖)。

P.S.希望你不會有一個用戶和一個同名的蛋糕:)

+0

同意。您必須有一個調度視圖,系統地嘗試按順序在每個模型中查找子彈,然後在找到匹配時將其委託給適當的視圖。然而,這會給你的數據庫帶來額外的壓力,你可能會遇到slu not不一的問題。最好留下標準的前綴。在URL前加上'/ user /'或'/ cake /'並不會讓它變得更長,並且不值得這樣做。 –