Django DetailView-获取所有对象?

Django DetailView-获取所有对象?,django,templates,views,Django,Templates,Views,我有一个子类DetailView来显示单个对象(obv)的详细信息。 我还有一个子类ListView,它提供了主页(包含所有项目的一些信息) 但是现在我想在我的基本模板中包括一个侧栏,这样所有页面都将有到DetailView提供的每个视图的链接 如何才能访问由DetailView提供的模板中的所有对象 class YourDetailView(DetailView): # ... def get_context_data(self, **kwargs): con

我有一个子类
DetailView
来显示单个对象(obv)的详细信息。 我还有一个子类
ListView
,它提供了主页(包含所有项目的一些信息)

但是现在我想在我的基本模板中包括一个侧栏,这样所有页面都将有到
DetailView
提供的每个视图的链接

如何才能访问由
DetailView
提供的模板中的所有对象

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

有几种干燥方法:

  • 让您的所有DetailView继承自一个基本DetailView,该基本DetailView使用
    get\u context\u data
    检索对象并将其添加到上下文中

  • 编写自定义模板并在基础模板中使用它