我有一个URL和一个基于类的视图层次结构,需要做同样的事情,但由于各种原因,他们需要在其中一个超类中使用单独的dispatch()
方法。
即所有视图的常见超类都有一个dispatch()
方法,如果网址为dispatchA()
则调用/a/...
,如果网址为dispatchB()
则调用/b/.../
< / p>
在具有不同前缀的django urlpatterns()中使用相同的模式(...)两次是否可以。
要获得额外的功劳,任何想法如何在后一种模式中添加kwarg(如b = True
),以便我不必在dispatch()
答案 0 :(得分:1)
这样做当然很好。您可以通过在模式后面的字典中指定它们来传递extra kwargs:
(r'^a/foo/$', my_view, {'b': False}),
(r'^b/foo/$', my_view, {'b': True}),
或者,你可以将前缀本身捕获为kwarg并在调度方法中检查它。