Django JavaScript标签位于base.html文件结构的末尾



我正在使用Django开发一个网站。我正在使用模板继承为了避免在多个HTML子文件中重复代码(例如导航条)。我不想重写的部分代码是我嵌入JavaScript的地方:

<script src="whatever"></script>

众所周知,这段代码最好放在.html文件正文的末尾,因为这样可以避免锁定额外的资源,使其无法更快地下载。

所以我的问题是:我该如何告诉我的base.html模板,脚本代码应该是在主体的末尾在每个子HTML文件中?

Base.html:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}{% endblock %}</title>
</head>
<body>
{% block main_body_data %}
{% endblock %}
{% block child_js_above_files %} 
{% endblock %}
<script src="whatever"></script>
{% block child_js_below_files %} 
{% endblock %}
</body>
</html>

child.html:

<!DOCTYPE html>
{% extends "base.html" %}
{% block title %}
Home page
{% endblock %}
{% block main_body_data %}
<h1>main content</h1>
{% endblock %}
{% block child_js_above_files %} 
<script src="whateverabove"></script>
{% endblock %}
{% block child_js_below_files %} 
<script src="whateverbelow"></script>
{% endblock %}

您可以简单地为基本模板创建一个base.html文件。它应该是这样的

base.html

<!Doctype HTML>
...
<head>
...
{% block head %}
{% endblock head %}
</head>
<body>
{% block content %}
{% endblock content %}
<!-- page specific script tag here -->
{% block script %}
{% endblock script %}
<!-- common script tag for whole site (will be loaded at last) -->
<script src="whatever"></script>
...
</body>
</html>

在base.html的末尾创建一个block

{% block js_files %} {% endblock %}

,然后在需要的时候覆盖它。

相关内容

  • 没有找到相关文章

最新更新