Skip to main content
 首页 » 编程设计

python之Django 通用 View 额外上下文

2024年08月25日28cyq1162

我正在尝试使用通用 DetailView 并在其中添加一些上下文以在模板中使用。

我的观点看起来像

class SpecsView(DetailView): 
    model = Specification 
 
    def get_context_data(self, **kwargs): 
        context = super(SpecsView, self).get_context_data(**kwargs) 
        pretty_json = "So pretty so pretty" 
        context['pretty_json'] = pretty_json 
        context['hello'] = "Hellow hellow" 
        return context 

如您所见,根据 Django 中的教程/文档,我在返回上下文之前添加了两个字段。

在我的模板中,我有(分数)

    <p> Specs should come here.</p> 
    {{ specification.pretty_json }} 
    {{ specification.hello }} 
    <p> No further.</p> 

其他一切正常,即我可以使用和显示我的模型规范的任何其他字段。

但是当我使用扩展上下文时没有任何显示。

HTML 结果 -->

Specs should come here. 
 
No further. 

希望我遗漏了一些明显的东西。 我正在使用 Python 3.4,django 1.8.5

谢谢!

请您参考如下方法:

您正在直接在上下文中添加 pretty_json 和 hello,因此调用它们使用:

{{ pretty_json }} 
{{ hello }}