Django学习路28_ .html 文件继承及<block 标签>,include 'xxx.html'
在 templates 文件夹下创建 基类 base.html <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>{{ title }}</title>
</head>
<body>
{% block header %} {% endblock %} {% block banner %} {% endblock %} {% block content %} {% endblock %} {% block footer %} {% endblock %}
</body>
</html>
继承 base.html ,子类名为 home.html
{% extends 'base.html' %}
{#继承 base.html #}
{% block header %}
<h2> header 模块 第一次继承 .html 文件</h2>
{% endblock %}
此时,继承的子类就可以显示 在 urls.py 中添加
url(r'temp',views.temp), 在 views.py 中添加对应的函数 def temp(request): return render(request,'home.html',context={'title':'home'})

使用子类footer 继承 刚刚继承的 home.html base -> home -> footer
footer.html
{% extends '名称.html'%}
{% block 名称%}
语句
{%endblock%} {% extends 'home.html' %} {% block footer %} <h3> 继承了 子类 home 的 类,显示块为 footer </h3>
{% endblock %}
在 urls.py 中进行注册
url(r'footer',views.footer)
在 views.py 中添加 footer 函数
def footer(request):
return render(request,'footer.html',context={'title':'footer'})

子类继承时,父类中显示的东西也会显示出来
子类可以继承父类的 block 块
使用 extends
语法:{% extends '名称.html'%} 当继承同一个 block 下的标签时,可能会出现覆盖
需要使用 {{block.super}}
footer.html 内容
{% extends 'home.html' %}
{% block footer %}
<h3> 继承了 子类 home 的 类,显示块为 footer </h3>
{% endblock %}
{% block header %}
继承了 子类 home 的 类,显示块为 header
{% endblock %}
注:
在 继承的 home.html 中也存在 block header 标签,如果没有使用 super 方法,会出现覆盖,使用子类的方法

使用 super 后,显示父类中的 block header
{% extends 'home.html' %}
{% block footer %}
<h3> 继承了 子类 home 的 类,显示块为 footer </h3>
{% endblock %}
{% block header %}
{{ block.super }}
继承了 子类 home 的 类,显示块为 header
{% endblock %}

{% include '名称.html'%}
速度慢.
{% block footer %}
{% include 'footer.html' %}
{% endblock %}
注:
使用 footer.html 的内容


2020-05-16
Django学习路28_ .html 文件继承及<block 标签>,include 'xxx.html'的更多相关文章
- Django学习路29_css样式渲染 h3 标签
在 static 静态文件夹下创建 css 文件夹 home.css 此时 home.css 路径是 'static/css/home.css' 在 对应的 home.html 文件中添加 css 样 ...
- Django 模板 语法 变量 过滤器 模板继承 组件 自定义标签和过滤器 静态文件相关
本节目录 一 语法 二 变量 三 过滤器 四 标签Tags 五 模板继承 六 组件 七 自定义标签和过滤器 八 静态文件相关 一 语法 模板渲染的官方文档 关于模板渲染你只需要记两种特殊符号(语法 ...
- Django学习路32_创建管理员及内容补充+前面内容复习
创建管理员 python manage.py createsuperuser 数据库属性命名限制 1.不能是python的保留关键字 2.不允许使用连续的下划线,这是由django的查询方式决定的 ...
- Django学习-2-初识settings文件
配置文件文档 https://docs.djangoproject.com/en/2.0/ref/ 1.添加APP的设置 INSTALLED_APPS = [ 'django.contrib.a ...
- Django学习笔记3-静态文件调用
1.settings.py 静态文件相关示例代码及说明: # Static files (CSS, JavaScript, Images) # https://docs.djangoproject.c ...
- Django学习路21_views函数中定义字典及html中使用类实例对象的属性及方法
创建 app6 在项目的 settings 中进行注册 INSTALLED_APPS 里面添加 'app6.apps.App6Config' 在 app6 的models.py 中创建数据表 clas ...
- Django学习路19_is_delete属性,重写类方法,显性隐性属性
如果在 创建数据表时,使用了 objects = models.Model() 使隐形属性变为了 显性属性 则 必须要自己定义一个 继承了 models.Model 类的类,实现 管理功能 如果一个属 ...
- Django学习路18_F对象和Q对象
F 对象: 可以使用模型的 A 属性和 B 属性进行比较 写法: 需要的数据对象 = 数据表(类名).objects.filter(列名__条件=F('列名2')) 需求: 查看男生数量比女生少 的公 ...
- Django学习路17_聚合函数(Avg平均值,Count数量,Max最大,Min最小,Sum求和)基本使用
使用方法: 类名.objects.aggregate(聚合函数名('表的列名')) 聚合函数名: Avg 平均值 Count数量 Max 最大 Min 最小 Sum 求和 示例: Student.ob ...
随机推荐
- CI CD概念
CI:持续集成 Continuous Integration CD:持续发布 Continuous Delivery (完)
- 【蓝桥杯】2018年第九届蓝桥杯C/C++B组省赛——B题 等差素数列
题目 标题:等差素数列 2,3,5,7,11,13,....是素数序列. 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列. 上边的数列公差为30,长度为6. ...
- 第三方 CSS 并不安全
最近一段时间,关于 通过 CSS 创建 “keylogger”(键盘记录器) 的讨论很多. 有些人呼吁浏览器厂商去“修复”它.有些人则深入研究,表示它仅能影响通过类 React 框架建立的网站,并指责 ...
- 3W字干货深入分析基于Micrometer和Prometheus实现度量和监控的方案
前提 最近线上的项目使用了spring-actuator做度量统计收集,使用Prometheus进行数据收集,Grafana进行数据展示,用于监控生成环境机器的性能指标和业务数据指标.一般,我们叫这样 ...
- Django---drf入门
目录 1 web开发模式 2 api接口 3 postman的使用 4 Restful规范(重点) 5 drf的安装和简单使用 3 cbv源码 4 APIView源码分析 1 web开发模式 #前后端 ...
- Django---进阶13
目录 数据库表创建及同步 注册功能 登陆功能 bbs是一个前后端不分离的全栈项目,前端和后端都需要我们自己一步步的完成 表创建及同步 注册功能 forms组件 用户头像前端实时展示 ajax 登陆功能 ...
- postman-7-前置请求脚本
前面讲了,tests初如何校验请求之后返回值是否正确 那前置脚本,就是处理,请求之前接口该如何处理,什么时候会用到呢? 比如:接口字段time,需要填入时间,而且这个是需要当前时间的,: 需要达到自动 ...
- 【Linux】Linux常用命令及操作 (一)
一.Linux简介 二.Linux基础命令 三.工作常用命令 --------------------------------------------------------------------- ...
- python 之 编码
本节内容 编码回顾 编码转换 Python的bytes类型 编码回顾 在备编码相关的课件时,在知乎上看到一段关于Python编码的回答 这哥们的这段话说的太对了,搞Python不把编码彻底搞明白,总有 ...
- Mysql----左连接、右连接、内连接、全连接的区别
最近,突然想起来数据库有好些时间没用到,所以,想把数据库有关的知识回顾一下,所以接下来这个月,基本上会以数据库的帖子来写为主,首先,很多同学都会有个错觉,觉得学习数据库会sql语句的增删改查就够了,其 ...