最佳实践,包括django模板中的javascript

dam*_*mon 6 javascript django templates

以前我曾经在模板中这样做过

<html>
...
<script>
 {% include "myapp/includes/jquery-1.7.1.min.js" %}
{% include "myapp/includes/myscript.js" %}
</script>
...
Run Code Online (Sandbox Code Playgroud)

但这会导致所有js代码显示在页面源上.

我没有在我的模板中使用任何表单,所以我可以使用Media类添加js吗?

我应该使用<script src=".." 或链接ref =".."来添加javascript文件吗?哪种方式更好?

Jos*_*mit 14

<script src="yourscript.js"></script>像往常一样使用,没有include模板标签.

Django include模板标记并不意味着加载JavaScript源代码.它用于包含子模板,其标记可以访问包含模板的模板上下文.阅读这里.

  • 而且,当你在它时,开始使用django_compressor http://django_compressor.readthedocs.org/en/latest/usage/#examples (6认同)

小智 5

我知道这个问题已经有6年了,答案是这个问题的准确答案。但不知何故,这对我来说在我的谷歌搜索结果中如此之高,我想我应该在这里发布更多信息,以帮助像我这样的人寻找最佳实践。使用模板继承以及内容、CSS 和 JavaScript 块。

文件:

https://docs.djangoproject.com/en/2.0/ref/templates/language/#template-inheritance

还有一个 stackoverflow 示例,展示了如何使用 block.super 将另一个 js 文件添加到原始 js 块中:

如何在 Django 中组织 JS 文件?