Templates的模板继承extends,block以及include的用法
{% extends 'home.html' %}
{#注意! 如果是继承的父模板, 则只能在父模板的block坑里面填内容,才会被显示,如下单独在写得内容不会被显示#}
<h1>这里不在block的内容不会被显示</h1>
{% block header %}
<h1>我会覆盖掉原有上次header的内容</h1>
{# 加上下面的就会调用父类的模板 #}
{{ block.super }}
{% endblock %}
{% block footer %}
{{ block.super }}
{# 能用extends+block使用的, 就尽量不用include,效率相对低#}
{% include 'footer.html' %}
{% endblock %}
注意block的覆盖规则, 如果需要同时显示父模板的内容,使用block.super
新增加css/js等文件,一定要先在Django的settings的STATIC修改注册路径
不然的话,html里即使有css也不会显示。
STATIC_URL = '/static/'
STATICFILES_DIRS=[
os.path.join(BASE_DIR, 'static'),
一般不要用下面方式写绝对路径,而要使用相对路径写
<link rel="stylesheet" href="/static/css/home_css.css">
{# 先读取 static的基本配置 #}
{% load static %}
<link rel="stylesheet" href="{% static 'css/home_css.css'%}">
目前上面如果将项目的DEBUG模式关了, 则不能读取static文件,部署时需要单独处理。