我有一種情況,我基本上允許任何URL,沒有前綴;我一直在考慮設計它的一種方式,基本上有兩個''
匹配 - 第一個將會看到它是否可以滿足要求,如果不能滿足要求,則會落到第二個。Django URLConf中的「Fallthrough」?
如果我
raise Http404
從第一視角,我得到一個404頁。如果我
return
,我得到一個ValueError
抱怨我「沒有返回一個HttpResponse對象。」
在django.core.urlresolvers
代碼看簡單地說,我相當確信架構根本不到位,做到這一點 - 它解析爲一個單一的比賽,該URL解析階段是從視圖完全獨立階段,一旦你進入了視圖,就不會返回到URL解析階段。它是否正確?我個人認爲這是一個輕微的缺陷;我可以看到,如果有兩種類型的404--其中一種說「不,它不存在」,如現在這樣做,還有一種說「我不知道它」,這會使它看起來很有用通過進一步的URLConf。在我看來,像任何人想要這種系統的風格基本上都必須替換Django的URL解析部分。我已經解決了這個問題(基本上把一個簡單的視圖放在一個,然後另一個視圖),所以我不認爲我真的有任何需要這個特殊的東西了,但我仍然是這樣, m好奇,如果有是這樣做,我只是沒有發現,或者是否可能有一個整潔的解決方法。
不完全;他們可以'提高Http404'。我想要'raise URLNotResolved'這樣的東西來告訴它繼續打獵,但我不認爲它存在於任何地方。 – 2010-12-22 05:54:00