可以重用Django URL模式吗?如果是这样,怎么样?

时间:2013-04-10 09:57:01

标签: django django-urls django-class-based-views

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

即所有视图的常见超类都有一个dispatch()方法,如果网址为dispatchA()则调用/a/...,如果网址为dispatchB()则调用/b/.../ < / p>

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

要获得额外的功劳,任何想法如何在后一种模式中添加kwarg(如b = True),以便我不必在dispatch()

中进行网址检查

1 个答案:

答案 0 :(得分:1)

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

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

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