iso*_*ism 3 javascript django templatetags
雅虎加速网站的最佳实践指出:
将脚本放在底部
我的 Django 应用程序中有两种类型的脚本:
支持 UI 控件的脚本必然是模板的一部分,因为它们的支持模板标记可以处理唯一 ID 之类的内容并将相关代码保持在一起。
问题是,如果我遵循雅虎的建议并将库 (#1) 放在页面底部,则 100% 内联包含的脚本 (#2) 将失败,因为库尚未加载和解析。
我无法在基本模板中扩展 {% block %} 元素,因为我在 templatetag 上下文中所做的任何操作都不会传播到它之外 - 按照设计,以避免变量名称冲突(根据 Django 的文档)。
有谁知道如何将 JavaScript 从模板标签的模板中推迟到在基本模板的底部呈现?
我通常有一个像这样的基本模板设置。
<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>
Run Code Online (Sandbox Code Playgroud)
然后我可以扩展这个基本模板并只覆盖我关心的块。我将所有不必放在 js-foot 标头中的 javascript 放在了 js-foot 中,因为它位于模板的底部,所以它将最后加载。如果您必须移动 javascript 加载的位置,您只需在基本模板中移动 js-foot 块即可。
没什么特别的,但是很有效。
| 归档时间: |
|
| 查看次数: |
4906 次 |
| 最近记录: |