我遇到了问题:
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不允许静态标记位于块标记内。
但是,如何使用static
元素底部的script
标记从body
导入javascript?
编辑:
如果我将addWorkout.html更改为:
{% extends "workout/base.html" %}
{% load static %}
{% block footer %}
<script type="text/javascript" src="{% static js/addWorkout.js %}"></script>
{% endblock %}
我会收到以下错误:
答案 0 :(得分:2)
子模板不会继承父项加载的标记库,您必须在addWorkout模板中明确加载static
标记。请注意this is documented ...
答案 1 :(得分:0)
从扩展模板文件中删除静态标记后,我能够重现相同的错误,更改下面的代码并尝试一下
function onEdit(e){
if (e.source.getActiveSheet()
.getName() !== 'APP_ID' || e.range.columnStart != 1 || e.range.rowStart != 2) return;
e.range.offset(0, 1)
.setValue(typeof e.value == 'object' ? null : new Date());
schedTrigger();
}
将addWorkout.html替换为上述代码