我有一个Django项目,还有一个像这样的HTML模板。
{% extends "base.html" %}
{% block content %}
{% if user.is_authenticated %}
<script type="text/javascript" src="/static/js/second.js"></script>
<!-- ...
想象一下,first.js
中有一个名为base.html
的文件。
问题是second.js
似乎在first.js
之前加载,这对我来说似乎是违反直觉的。我是否可以控制js文件的加载队列?
除此之外,我觉得first.js在second.js之后加载,这是一个使用库的原因,比如我在second.js中使用的jquery.js。因此,如果base.html总是在second.js之后加载,我会在second.js文件中出现数字错误(至少源于无法识别jquery函数)。
总而言之,我的直觉是通常base.html文件应该在second.js之前加载,但是我遇到过在base.html中的一个文件之前加载second.js文件的情况。 任何人都可以解释这可能发生的原因吗?
答案 0 :(得分:3)
它完全取决于first.js与HTML中的second.js相关的位置。
浏览器不了解Django,块或模板。它看到的只是渲染的HTML。如果内容块包含在父模板中包含first.js的位置之前,那么它将首先加载。