Django 为什么在Djjango中不执行包含模板中的javascript块?

Django 为什么在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 %} {%

我在base.html中包含的模板中有一个javascript块。我想知道为什么它不起作用

这是我的base.html

<!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' %}