如何在 Django 模板中连接内容块? [复制]

Posted

技术标签:

【中文标题】如何在 Django 模板中连接内容块? [复制]【英文标题】:How to concatenate a content block in a Django template? [duplicate] 【发布时间】:2012-11-22 11:37:15 【问题描述】:

可能重复:Can we append to a % block % rather than overwrite?

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

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

更新

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

【问题讨论】:

这个答案可能对你有用:***.com/questions/1724466/… @msc 很好的发现。投票标记重复,因为问题和解决方案几乎相同。 它正在工作!这正是我所需要的。非常感谢。 @cdhowie 请原谅我的相对无知。我同意这个问题本质上是相同的,但是由于这详细描述了我在 jQuery 中的问题,它是否是一个重复的问题? @jonahs 细节上可能不是精确的重复,但单独考虑的问题标题使它看起来像一个,标题中提出的问题似乎确实是您要问的主要问题这里。我对此持观望态度;如果其他用户认为合适,他们可以投票关闭。 事实证明,该解决方案对我来说只是有点工作。我会相应地更新我的问题。 【参考方案1】:

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

【讨论】:

以上是关于如何在 Django 模板中连接内容块? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

使用 django 模板创建可读的 html

Django模板:在同一基础中使用多个块标签

django:在包含的模板中使用块

django-模板文件继承

如何在 Django 模板中的“带有模板标签”中设置 Django 渲染块值?

Django 如何在模板中重复一个块