Django学习-12-模板继承

对于一下3个HTML页面   
        url(r'^templates1/', views.templates1),
        url(r'^templates2/', views.templates2),
        url(r'^templates3/', views.templates3),
    def templates1(request):
                return render(request,'t1.html')
      
            def templates2(request):
                return render(request,'t2.html')
      
            def templates3(request):
                return render(request,'t3.html')
 
            这t1,t2,t3大部分HTML代码都是一样的,将其中一个做为模板HTML,
                在模板HTML中加上需要替换的block,其他子HTML将会继承模板HTML,并渲染block快
                模板HTML中
    

<head>
<meta charset="UTF-8">
<title>{% block title %} {% endblock %}</title>
<link rel="stylesheet" href="/static/commons.css" />
{% block content%} {% endblock %}
</head>

子HTML中只需要写

{% extends 'master.html' %} 继承哪一个文件
{% block content%}
{% endblock %}

就可以继承,并渲染成完整的HTML页面

* 注意点,针对JS和CSS时

在head最后添加一个{% block css%}{% endblock %}
在body最后添加一个{% block js%}{% endblock %}

* 一个HTML页面只能继承一个模板

* 导入HTML代码

编辑一个HTML只有输出标签 ----> tag.html
另一个HTML页面中,在需要导入的位置 ------> { % include "tag.html" %}
引用多次相当于重复调用

原文地址:https://www.cnblogs.com/cq146637/p/7806371.html