javascript - Django:如何使用模板从静态文件加载 javascript

标签 javascript python html django

我有一个问题:

在addWorkout.html中:

{% extends "workout/base.html" %}
{% block footer %}
<script type="text/javascript" src="{% static js/addWorkout.js %}"></script>
{% endblock %}

在base.html中:

{% load static %}
<!DOCTYPE html>
<html lang="en">
<body>

{% block content %}{% endblock %}

{% block footer %}{% endblock %}

</body>
</html>

这将产生一个错误:

Invalid block tag on line 49: 'static', expected 'endblock'. Did you forget to register or load this tag?

此错误源于 addWorkout.html 中脚本标记的 src 属性。显然,django 不允许静态标签位于 block 标签内。

但是如何使用 body 元素底部的 script 标签从 static 导入 javascript?

编辑:

如果我将 addWorkout.html 更改为:

{% extends "workout/base.html" %}
{% load static %}
{% block footer %}
<script type="text/javascript" src="{% static js/addWorkout.js %}"></script>
{% endblock %}

我会收到以下错误:

enter image description here

最佳答案

子模板不会继承其父模板加载的标签库,您必须在 addWorkout 模板中显式加载 static 标签。请注意this is documented ...

关于javascript - Django:如何使用模板从静态文件加载 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47201786/

相关文章:

javascript - 打开新窗口,然后滚动到元素

python - 获取当前 url 并显示在我自己的 HTML 页面上

python - 我认为 scipy.interpolate 可能坏了还是我用错了?

javascript - jQuery 无法从 $(this) 按钮单击获取 id

html - 如何仅添加部分 View 所需的脚本和 css 文件

javascript - 如何从 json 中删除\r?

javascript - 更改 switch 语句以包含 mp4 和 ogg 文件

javascript - 在同一页面上使用两个 Bootstrap 轮播 - 一个单独的和一个在一张幻灯片上包含多个元素

python - Flask-Script add_option 方法不起作用

html - 使用 css 将静态布局转换为百分比布局