我有一个DetailView
的子类来显示单个对象(obv)的细节。 我也有ListView
子类,提供网页(对所有项目的一些信息)Django DetailView - 获取所有对象?
但现在我想包括侧边栏在我的基础模板,使所有页面具有链接到由DetailView
提供的每个视图。
我该如何做到这一点,以便我可以访问由DetailView
提供的模板中的所有对象?
我有一个DetailView
的子类来显示单个对象(obv)的细节。 我也有ListView
子类,提供网页(对所有项目的一些信息)Django DetailView - 获取所有对象?
但现在我想包括侧边栏在我的基础模板,使所有页面具有链接到由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
一对夫妇的干法:
让所有的DetailViews从使用get_context_data
检索对象,并将其添加到上下文基地的DetailView继承
编写自定义template tag并将其用于您的基本模板