gpt4 book ai didi

javascript - 使用templatetags时如何将JavaScript放在Django页面的底部?

转载 作者:行者123 更新时间:2023-11-29 18:35:05 26 4
gpt4 key购买 nike

雅虎的Best Practices for Speeding Up Your Website状态:

Put Scripts at the Bottom

我的 Django 应用程序中有两种类型的脚本:

  1. 包含在我的基本(例如继承)模板中的脚本;和
  2. 在由模板标签实例化的模板内编写的脚本

支持 UI 控件的脚本必须是模板的一部分,因为它们的支持模板标记可以处理诸如唯一 ID 之类的内容,并将相关代码保持在一起。

问题是,如果我听从 Yahoo 的建议并将库 (#1) 放在页面底部,100% 的内联脚本 (#2) 将失败,因为库尚未加载和解析还没有。

我不能在我的基本模板中扩展一个 {% block %} 元素,因为我在 templatetag 的上下文中所做的任何事情都不会传播到它之外——设计是为了避免变量名冲突(根据 Django 的文档).

有谁知道如何将 JavaScript 从我的 templatetags 模板中推迟到在我的基本模板底部呈现?

最佳答案

我通常有一个像这样的基本模板设置。

<html>
<head>

{% block js-head %} Tags that need to go up top {% endblock js-head %}

</head>
<body>
{% block header %} Header {% endblock header %}

{% block body %} Body goes here {% endblock body %}

{% block footer %} Footer {% endblock footer %}

{% block js-foot %} All other javascript goes here {% endblock js-foot %}
</body>
</html>

然后我可以扩展这个基本模板,只覆盖我关心的 block 。我将所有不必位于标题中的 javascript 放在 js-foot 中,因为它位于模板的底部,所以它将最后加载。如果您必须移动 javascript 加载的位置,您只需在基本模板中移动 js-foot block 。

没什么特别的,但它确实有效。

关于javascript - 使用templatetags时如何将JavaScript放在Django页面的底部?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4101458/

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