2

そこで、このアプリケーションを作成し、汎用ビュー オブジェクト ListView と ObjectView を使用しています。

両方のケースで同じ余分なコンテキスト (オブジェクトに関連しない) を追加できるように、両方のメソッド get_context_data をオーバーライドしました。

1 つは Listview を拡張し、もう 1 つは DetailView を拡張し、両方とも同じ get_context_data メソッドを使用します。

これが正常に機能している間、見るのは本当に痛いですが、ListView と DetailView に新しい get_context_data を継承させる get_context_data をオーバーライドできる親クラスはありますか? そうすればもっと素敵に見えるでしょう:)

ありがとうございました。

バツ

4

1 に答える 1

5

get_context_data をオーバーライドする方法が同じ場合は、ミックスインを使用します。

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 に答える