我有兩個基於類的視圖,比如說「Category」和「Product」。相同的URL模式,兩個不同的意見?
我試圖實現的事實際上很簡單。
「類別」中包含一個URL(比方說,「食物」),這意味着,當我打這樣的網址: mydjango.com/myapp/food/
它實際上搜索數據庫中是否存在具有一個URL匹配任何「類別」對象「的食物」。
URL模式是這樣的:這是包含在目錄配套配件「食」作爲URL
url(r'^(?P<rel_url>.+)/$', login_required(is_allowed(Category.as_view())), name='category')
現在讓我們假設我要訪問一個產品(從「產品」的模式)。例如:
mydjango.com/myapp/food/rice
在產品型號的url域看起來是這樣的,然後「食品/米」 後來我的URL模式看起來完全一樣,所不同的視圖的名稱。
問題是,Django只檢查第一個URL並告訴我沒有包含'food/rice'url的Category對象。這是有道理的,因爲該URL存儲在產品模型中。
更簡單的問題:如何根據匹配的模式訪問兩個不同的視圖? mydjango.com/myapp/food
必須使用類別視圖(使用rel_url)
mydjango.com/myapp/food/rice
不匹配任何類別,然後它使用產品視圖。
當我知道這不是好辦法的辦法,但是這是我發現的唯一的解決方案(應用程序是遠遠不僅僅是類別/產品更復雜)
在「產品」的模式,該網址是完整的URL。因此,在訪問數據庫之前,我無法真正區分它是產品還是類別。 – Depado
上帝你是對的。謝謝你是天才' - ' – Depado