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 回答