有没有我可以利用Django的默认CBV的优势,而不会导致超级调用get_context_data发送额外的信息。使用Django CBV没有覆盖get_context_data
例如,我有一个网站,CBV可以自己处理99%的工作,但我想发送一些小的静态信息,如页面标题,并且似乎没有必要使用get_context_data来完成这个。
我知道我能做到以下几点:
class Page(DetailView):
model: MyModel
template_name: 'something.html'
title: 'Some Page Title'
和参考称号,我为view.title
模板。不过,我希望页面标题是我模型的一个属性。这我能够通过以下的事情:
get_context_data(self, **kwargs):
context = super(Page, self).get_context_data(**kwargs)
context['title'] = 'Page Title | %s' % (self.get_object().title)
return context
是否有可能对我来说,引用被称为在详细视图中的单个模型,而不运行查询或使用get_context_data这样我就可以得到模型的title属性和在我的模板中使用它作为view.title
?
我不确定你想要什么,但也许这个'Page Title | {{object.title}}' – madzohan 2014-11-01 21:25:19