是否可以使用 django 的自定义模板标签在模板的其他块中插入代码?
Posted
技术标签:
【中文标题】是否可以使用 django 的自定义模板标签在模板的其他块中插入代码?【英文标题】:Is it possible to use django's custom template tags to insert code in other blocks in the template? 【发布时间】:2012-11-17 10:48:12 【问题描述】:我正在编写一个自定义模板标记,该标记用一些代码包装一个 html 元素以使其可编辑。这由一些 CSS 和负责将数据发送到服务器以保存数据的 JS 提供支持。
这个组件需要包含
<script type="text/javascript" src="../myscript.js"></script>
在页面底部和
<link rel="stylesheet" type="text/css" href="../mystyle.css">
在顶部。
我已经在页面模板中有两个“js”和“css”模板块。
我的问题 - 如果我的标签存在,自定义模板标签是否可以在相关页面块中包含这些脚本一次?
我输入的IE:
% mytag % <div>editable element</div> % endmytag %
并且“js”和“css”模板块被填充了相关的脚本\链接标签?
(我不想在每个页面中都预先包含这些,因为只有我的一些页面会使用这个标签)
【问题讨论】:
【参考方案1】:您可以尝试在自定义标记呈现的模板中使用Django-Sekizai 将 CSS 和 JS 文件添加到另一个块,这正是 Sekizai 的设计目的。我在基于 Django-CMS 的项目中广泛使用它,但我还没有尝试过你的用例。
【讨论】:
以上是关于是否可以使用 django 的自定义模板标签在模板的其他块中插入代码?的主要内容,如果未能解决你的问题,请参考以下文章
“模板语法错误:过滤器无效:”;基于 django 文档的自定义 django 模板过滤器损坏,但模板标签有效
我的自定义 Django 模板过滤器但没有任何其他过滤器的“无效过滤器”错误