假设我想在视图中为每个页面添加bootstrap或angular,是否有比将同一行复制到每个文件更优雅的方法?
答案 0 :(得分:2)
您需要django template inheritance。在模板base.html
中执行包含,并在那里定义将为子模板填写的块:
<html>
<!-- base.html -->
......
{% block content %}
{% endblock %}
<!-- You include your js/css here -->
<script type="text/javascipt" src="{{ STATIC_URL }}jquery.js">
<link rel="stylesheet" type="text/css" href="mystyle.css">
</html>
然后对于所有模板,您展开base.html
并覆盖block content
,如下所示:
<!-- sub.html -->
{% extends "base.html" %}
{% block content %}
<!-- You current page html goes here -->
{% endblock %}
通过这种方式,base.html
中包含的内容将自动继承并在sub.html中提供。