我有一个DetailView
的子类来显示单个对象(obv)的详细信息。
我还有一个ListView
的子类,它提供了主页(包含所有项目的一些信息)
但现在我想在我的基本模板中添加一个侧边栏,以便所有页面都有指向DetailView
提供的每个视图的链接。
我如何以能够访问DetailView
提供的模板中的所有对象的方式执行此操作?
答案 0 :(得分:0)
class YourDetailView(DetailView):
# ...
def get_context_data(self, **kwargs):
context = super(YourDetailView, self).get_context_data(**kwargs)
context['all_objects'] = YourModel.objects.all()
return context
答案 1 :(得分:0)
一些DRY方法:
让所有DetailView继承自使用get_context_data
检索对象并将其添加到上下文的基础DetailView
撰写自定义template tag并在基本模板中使用