0

我有一个 URL 和一个基于类的视图层次结构,它们需要做完全相同的事情,但由于各种原因,它们需要dispatch()在其中一个超类中具有单独的方法。

即所有视图的公共超类有一个dispatch()方法,dispatchA()如果 URL 是/a/...dispatchB()如果 URL 是/b/.../

在 django urlpatterns() 中使用不同前缀的相同模式(...)两次是否可以。

对于额外的信用,任何想法如何添加一个 kwarg (如b = True)到后一种模式,所以我不必在dispatch()

4

1 回答 1

1

这样做当然很好。您可以通过在模式后的字典中指定它们来传递额外的 kwarg :

(r'^a/foo/$', my_view, {'b': False}),
(r'^b/foo/$', my_view, {'b': True}),

或者,您可以将前缀本身捕获为 kwarg 并在调度方法中检查它。

于 2013-04-10T10:23:14.977 回答