0

非常に便利で、開発者が DRY に準拠するのに役立つ明白なパターンのように思えます。たとえば、各ビューに渡すことができる特定のコンテキストを定義します。私の知る限り、これを行う方法はありません。

4

1 に答える 1

1

ドキュメントで定義されているように、すべての一般的なクラスベースのビューを拡張し、それらのメソッドをオーバーライドできます。たとえば、ビュー自体が定義するものに加えて追加のコンテキスト変数を定義したい場合は、次のget_context_dataメソッドを使用してそれらを追加するだけです:

class CustomDetailView(DetailView):
    model = MyModel
    def get_context_data(self, **kwargs):
        context = super(CustomDetailView, self).get_context_data(**kwargs)
        context.update({
            "foo": "bar",
            "baz": 999,
        })
        return context

または、必要に応じてすべてのビューに含まれる特定の mixin を定義することもできます。

于 2013-03-07T09:35:48.883 に答える