gpt4 book ai didi

django 模板 - 在包含的模板中使用 block.super 失败(异常)

转载 作者:行者123 更新时间:2023-12-03 22:12:15 25 4
gpt4 key购买 nike

这个想法是在一个页面上有多个小部件,并包含这个“小部件”所需的所有 js 和 css 文件(通过这种方式管理文件很容易)。重复文件不是问题。
{%include%} 将每个小部件的模板包含到页面中
从小部件的模板内部,我试图将内容添加到父块:

家长:

{%block js%}
{%endblock%}

小部件
{%block js%}
{{block.super}}
///my widget spectyfic JS
{%end block%}

这是 {{block.super}}: Caught AttributeError while rendering: 'BlockNode' object has no attribute 'context' 的错误

我不确定我还能如何扩展块......在 Django 中似乎不可能......有任何想法吗?
定义多个块是行不通的,因为我们不知道每个页面上有多少个不同的小部件,我们会有什么名字......(这不是一个模板的担心)

最佳答案

来自 the docs :

Note

The include tag should be considered as an implementation of "render this subtemplate and include the HTML", not as "parse this subtemplate and include its contents as if it were part of the parent". This means that there is no shared state between included templates -- each include is a completely independent rendering process.


如果你想要 block.super工作然后你需要使用 extends 反而。

关于django 模板 - 在包含的模板中使用 block.super 失败(异常),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6566347/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com