我有一个(CBV)超类(继承自 DjangoView
和一个 mixin)和多个子类。
我需要在所有子类中实现完全相同的功能,但实际的父类将完全不同,除了将继承自 Django 的View
.
所以实际上我需要通过以下方式获得相同的子类功能:
- 不同的 URL(或实际上不同的 URL前缀和相同的 URL 集)
- 不同的
dispatch()
方法(所有子类通用,但两组不同)
这样做最明智的方法是什么?
编辑:实际上,我想我可以通过简单的方式来解决这个问题
更改dispatch()
以便它调用dispatchA()
如果 URL 是/a/...
并且dispatchB()
如果 URL 是/b/.../
现在的问题是:__pattern(...)
在 djangourlpatterns()
中使用不同前缀两次是否可以。
对于额外的信用,任何想法如何添加一个 kwarg (如b = True
)到后一种模式。