2

所以我正在编写这个应用程序并使用通用视图对象 ListView 和 ObjectView。

我已经覆盖了两者的 get_context_data 方法,以便能够在两种情况下添加相同的额外上下文(与对象无关)。

现在我有两个类,一个扩展 Listview,另一个扩展 DetailView,两者都具有相同的 get_context_data 方法。

虽然这工作得很好真的很痛苦,但是否有一个父类我可以覆盖 get_context_data 将使 ListView 和 DetailView 继承新的 get_context_data?这样看起来会更好:)

谢谢你。

X

4

1 回答 1

5

如果您想要覆盖 get_context_data 的方式相同,我会使用 mixin。

class CommonMixinExample(object):

    def get_context_data(self, **kwargs):
        # do stuff in here
        return super(CommonMixinExample, self).get_context_data(**kwargs)

class YourListView(CommonMixinExample, ListView):
    # other code

class YourDetailView(CommonMixinExample, DetailView):
    # other code
于 2012-11-07T06:13:27.943 回答