1

可能重复:
我们可以追加到 {% block %} 而不是覆盖吗?

简单地说,我有一个依赖大量 jQuery 的 Django 应用程序。在单个页面中有多个 $(document).ready 函数存在许多问题(例如,多次触发单击事件)。我相信解决这个问题的方法是连接一个显示在页脚中的内容块,但我似乎找不到任何如何实现这一点的例子。

社区如何建议在 Django 模板中动态创建/扩展单个 $(document).ready 函数的内容?

更新

第一条评论中提出的 {{ block.super }} 在从模板调用时有效,但我还使用了各种模板标签,这些标签需要能够添加到 $(document).ready( )。当从包含标签中调用时,Django 返回一个 AttributeError 异常,说明:'BlockNode' 对象没有属性'context'。

4

1 回答 1

0

有许多选项,您选择使用的选项取决于您选择所需代码的逻辑有多复杂、代码块相互依赖的程度以及它们与页面标记的关系。您可以简单地将代码块存储为包含标签,然后在页脚脚本部分或单个$(document).ready部分中调用这些标签。或者你可以使用类似Require.js的东西。

于 2012-12-04T18:53:01.013 回答