Django:如何使用模板从静态文件加载javascript
我有一个问题: 在addWorkout.html中: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
{% 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“%}