【发布时间】:2012-05-07 09:56:27
【问题描述】:
我经常看到自己不得不在我的许多观点的上下文中添加相同的额外变量。
def get_context_data(self, **kwargs):
# Call the base implementation first to get a context
context = super(MyListView, self).get_context_data(**kwargs)
# Add in the house
context['house'] = self.get_object().house
return context
由于我不喜欢重复自己,我想我可以创建一个扩展视图的新类,然后我可以将所有视图基于新的扩展视图类。问题是,我使用了 4 类视图:CreateView、UpdateView、ListView 和 DeleteView。我真的必须为它们中的每一个创建一个新类吗?
难道没有类似于 Django“基础”视图类的东西吗?也许是更聪明的方法?
【问题讨论】:
-
这是一个潜在的解决方案,尽管我不确定我是否对它如此热衷 - reinout.vanrees.org/weblog/2014/05/19/context.html
标签: django django-generic-views