use*_*820 2 django django-views
因此,我正在编写此应用程序,并使用通用视图对象ListView和ObjectView。
我在两种方法上都重写了get_context_data方法,以便能够在两种情况下添加相同的额外上下文(与对象无关)。
现在,我有两个类,一个扩展了Listview,另一个扩展了DetailView,它们都具有相同的get_context_data方法。
虽然工作正常,但真的很痛苦,但是是否有一个父类可以重写get_context_data,从而使ListView和DetailView继承新的get_context_data?这样看起来会更好:)
谢谢。
X
如果您要覆盖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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2060 次 |
| 最近记录: |