我有一种情况,我基本上允许任何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