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

Django:如何使用模板从静态文件加载javascript,javascript,python,html,django,Javascript,Python,Html,Django,我有一个问题: 在addWorkout.html中: {% extends "workout/base.html" %} {% block footer %} <script type="text/javascript" src="{% static js/addWorkout.js %}"></script> {% endblock %} {% load static %} <!DOCTYPE html> <html lang="en"> &l

我有一个问题:

在addWorkout.html中:

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

{% block content %}{% endblock %}

{% block footer %}{% endblock %}

</body>
</html>
此错误源于addWorkout.html中脚本标记的
src
属性。显然,django不允许静态标记位于块标记内部

但是如何使用
主体
元素底部的
脚本
-标记从
静态
导入javascript呢

编辑:

如果我将addWorkout.html更改为:

{% extends "workout/base.html" %}
{% load static %}
{% block footer %}
<script type="text/javascript" src="{% static js/addWorkout.js %}"></script>
{% endblock %}
{%extends“workout/base.html”%}
{%load static%}
{%block footer%}
{%endblock%}
我将得到以下错误:


子模板不继承其父模板加载的标记库,您必须在addWorkout模板中明确加载
静态
标记。请注意

子模板不继承其父模板加载的标记库,您必须在addWorkout模板中明确加载
静态
标记。请注意

在从扩展模板文件中删除静态标记后,我能够重现相同的错误,按如下所示更改代码并尝试一下

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

将addWorkout.html替换为上述代码

在从扩展模板文件中删除静态标记后,我能够重现相同的错误,请按如下所示更改代码,然后再试一次

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

将addWorkout.html替换为上面的代码

如果您在settings.py文件中定义了
STATIC\u ROOT
,那么它可以是简单的
链接,没有任何大括号。我相信您也必须在扩展模板中加载STATIC,请给它一个tryPLEASE,不要使用问题来询问其他问题。你应该打开一个新的问题。如果你在设置中定义了
STATIC\u ROOT
,那么它可以是简单的
链接,没有任何大括号。py文件我相信你也必须在扩展模板中加载STATIC,请给它一个tryp。请不要使用问题询问其他问题。您应该打开一个新问题。将
{%load static%}
添加到addWorkout.html会导致另一个错误。我已经在编辑中详细说明了错误。您想要
src=“{%static”js/addWorkout.js”%}”
-否则模板引擎会尝试将
js/addWorkout.js
解析为模板或筛选表达式。FWIW这也有文档记录:-也许您可以在提问之前阅读精美的手册?添加
{%load static%}
添加workout.html会导致另一个错误。我已经在编辑中详细说明了错误。您想要
src=“{%static”js/addWorkout.js”%}”
-否则模板引擎会尝试将
js/addWorkout.js
解析为模板或过滤表达式。FWIW这也有文档记录:-也许您可以在提问之前阅读精美的手册?谢谢。我尝试过这个,但它只会导致另一个错误。我在我的编辑中对此进行了详细说明。在给出路径时,只对js路径使用双引号,src={%static”plugins/parsleyjs/dist/parsley.min.js“%}谢谢。我尝试过这个,但它只会导致另一个错误。我在编辑中对此进行了详细说明。在给出路径时,仅对js路径使用双引号,src={%static”plugins/parsleyjs/dist/parsley.min.js“%}