Django 为什么在Djjango中不执行包含模板中的javascript块?
我在base.html中包含的模板中有一个javascript块。我想知道为什么它不起作用 这是我的base.htmlDjango 为什么在Djjango中不执行包含模板中的javascript块?,django,django-templates,Django,Django Templates,我在base.html中包含的模板中有一个javascript块。我想知道为什么它不起作用 这是我的base.html <!DOCTYPE html> <html lang="en"> <head> <title>{% block title %} Base {% endblock title %}</title> </head> <body> {% block content %} {%
<!DOCTYPE html>
<html lang="en">
<head>
<title>{% block title %} Base {% endblock title %}</title>
</head>
<body>
{% block content %}
{% endblock content %}
</body>
<script>
console.log("print from base");
</script>
{% block js %}
{% endblock js %}
</html>
只显示“Content from index.html”和“print from base”。我相信这就是原因所在。在Django文档中找到 include标记应被视为“呈现此子模板并包含HTML”的实现,而不是“解析此子模板并包含其内容,就好像它是父模板的一部分”。这意味着包含的模板之间没有共享状态–每个包含都是一个完全独立的渲染过程 在包含块之前先对其进行评估。这意味着,包含来自另一个模板的块的模板将包含已计算和渲染的块,而不是可以被(例如)扩展模板覆盖的块
{% block js %}
<script>
console.log("print from footer");
</script>
{% endblock js %}
{% extends 'base.html' %}
{% block content %}
Content from index.html
{%endblock%}
{% include 'footer.html' %}