我有基本模板“header.html”,我试图扩展它以使用django的 extend 标记获取一些新数据。
了header.html
<!DOCTYPE html>
{% load staticfiles %}
<link href='https://fonts.googleapis.com/css?family=Roboto:400,500' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="{% static 'style.css' %}"/>
<link rel="stylesheet" type="text/css" href="{% static 'font-awesome.min.css.css' %}"/>
<link rel="stylesheet" type="text/css" href="{% static 'bootstrap.min.css' %}"/>
<link rel="stylesheet" type="text/css" href="{% static 'jquery-ui.css' %}"/>
<link rel="stylesheet" type="text/css" href="{% static 'css/buttons.css' %}"/>
<link rel="stylesheet" type="text/css" href="{% static 'css/jquery.switchButton.css' %}"/>
<script src="{% static 'jquery-1.11.3.min.js' %}"></script>
<script src="{% static 'jquery-ui.js.js' %}"></script>
<script src="{% static 'jquery.dataTables.min.js' %}"></script>
<script src="{% static 'dataTables.bootstrap.min.js' %}"></script>
<script src="{% static 'common.js' %}"></script>
<html lang="en">
<head>
<div id="header">
<div id='topMenuDiv'>
<a href='/search' class='fa '>BROWSE MOVIES</a>
</div>
</div>
</head>
<body>
{% block content %}
{% endblock %}
</body>
</html>
我有home.html
{% extends "header.html" %}
{% block content %}
<script src="{% static 'index.js' %}"></script>
{% endblock %}
现在,如果我在home.html中包含{%load staticfiles%},这会有效,同时给出错误 - 无效的块标记:没有它的'静态'。 我想知道的是有一种方法可以在不使用{%load staticfiles%}的情况下包含静态文件“index.js”,因为这会再次加载静态文件。
答案 0 :(得分:6)
{% load staticfiles %}
仅加载模板标记库staticfiles
的代码。它没有将所有静态文件加载到django模板中。模板标记static
是staticfiles
模板标记库的一部分,因此django模板需要知道static
的代码来自何处。
您可以在任何模板标记上调用load
,甚至是自定义标记。它就像python中的伪代码from staticfiles import static
。
请查看django doc了解详情。