在 django 模板中包含 javascript 的最佳实践
Posted
技术标签:
【中文标题】在 django 模板中包含 javascript 的最佳实践【英文标题】:best practice including javascript in django template 【发布时间】:2012-04-27 01:57:48 【问题描述】:以前我曾经在模板中这样做
<html>
...
<script>
% include "myapp/includes/jquery-1.7.1.min.js" %
% include "myapp/includes/myscript.js" %
</script>
...
但这会导致页面源上显示所有的js代码。
我的模板中没有使用任何Form,我可以使用Media类来添加js吗?
我应该只使用<script src=".."
或链接 ref=".." 来添加 javascript 文件吗?哪种方式更好?
【问题讨论】:
【参考方案1】:我知道这个问题已有 6 年历史,答案是该问题的准确答案。但不知何故,这在我的谷歌搜索结果中对我来说非常高,我想我会在这里发布更多信息,以帮助像我这样的人,寻找最佳实践。对内容、css 和 javascript 使用模板继承和块。
文档:
https://docs.djangoproject.com/en/2.0/ref/templates/language/#template-inheritance
还有一个 *** 示例,展示了如何使用 block.super 将另一个 js 文件添加到原始 js 块:
how to organize JS files in Django?
【讨论】:
【参考方案2】:像往常一样使用<script src="yourscript.js"></script>
,不带include
模板标签。
Django include
模板标签并不意味着加载 JavaScript 源代码。它用于包含一个子模板,其标记可以访问包含模板的模板上下文。阅读here。
【讨论】:
并且,当您使用它时,开始使用 django_compressor django_compressor.readthedocs.org/en/latest/usage/#examples以上是关于在 django 模板中包含 javascript 的最佳实践的主要内容,如果未能解决你的问题,请参考以下文章
在 django 模板中包含 javascript 的最佳实践