flask的继承和包含
为了方便使用重复的页面,我们也可以使用继承模板。还有包含模板,一般使用包含,俩个都不是很好理解,我只是用完的理解简单介绍一下,他们的用法打不相同,却又有类似之处
我们访问页面的时候在最上边会有导航的信息。也就是要跳转到哪。实现路由的访问,那么每一页中我们为了统一效果
是不是就可以将之前的页面样式拿来使用。这就涉及到了继承,以及包含。
在继承的时候,会使用 block 关键字。记住,想要现实效果,别忘了在Py文件中导入数据,引入页面,
那么就有了被继承的概念。谁继承谁。又是谁被谁继承,所以还有个关键字,就是extends
{# 模板继承使用block关键字 #}
{% block top %}
这里是导航栏,也是一样,导航栏的样式设置基本都一样,不然整体效果就不是很好,要有整体性
{% endblock top %}
<br />
{% block content %}
需要被继承的内容,在这里填充
下边的所有内容在另一个页面,需要继承过来,继承过来的只是内容,
面向对象中继承父类的同名方法,就是说,只是调用了东西。而没有做这个页面的修改,正好相反
就可以吧另一个页面写的内容拿到这里使用
{% endblock content %}
{# 继承模板使用关键字extends #}
{% extends 'day03_base.html' %}
{% block content %}
那么这里的就是导航栏下边的所有的内容,就是说继承的所有机制<br />
为了提高开发效率。将一个主要的模板。相同的组件都可以继承,与之相反的是包含机制。<br />
包含的机制比这个好理解。也更好用
{% endblock content %}
那么包含也是类似。只是没有继承这样麻烦。也是讲原有设计好的模板直接拿过来使用。也就是说可以分开使用,
类似于拼接起来的模型。这只是我的理解。将一个个组件接起来使用,构建成一个完整的动态页面
{# 使用include关键字,来包含之前定义好的模板 #}
<!-- 调用了另一个文件 -->
{% include 'day03_top.html' %}
flask的继承和包含的更多相关文章
- Flask之模板之宏、继承、包含
3.5 宏.继承.包含 类似于python中的函数,宏的作用就是在模板中重复利用代码,避免代码冗余. Jinja2支持宏,还可以导入宏,需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有 ...
- Flask block继承和include包含
继承(Block)的本质是代码替换,继承我认为就是把完整的html文件继承到一个不完整的html文件里. 被继承html文件: <!DOCTYPE html> <html lang= ...
- C++ 继承和包含的区别?
在<代码大全>这本书的第六章中提到了有关包含与继承的一些原则,我摘取如下: 一.包含("has a") 包含表示一个类含有一个基本数据元素或对象.包含是面向对象编程的主 ...
- Django 模板 继承和包含
##### 母版 ##### 这里是头部 {% block body-content %}{% endblock %} 这里是底部 #### 继承模板 ### {% extends 'layout.h ...
- flask模版继承和block
模版继承和block的目的就是为了减少前端代码量 flask_ones.py #encoding:utf-8 from flask import Flask,url_for,redirect,rend ...
- Django-模板继承、包含和静态文件配置
一.模板继承 模板继承可以减少页面内容的重复定义,实现页面内容的重用 典型应用:网站的头部.尾部是一样的,这些内容可以定义在父模板中,子模板不需要重复定义 block标签:在父模板中预留区域,在子模板 ...
- 用Flask 实现文件服务器(包含docker版本)
最近有了公司局域网内共享axure原型的需求,所以用Flask开发了一款文件上传/查看工具,记录一下其中的问题和解决方案 这个工具参照了一位大神的uploads工具 https://zhuanlan. ...
- c#类的继承与包含的关系
基础例子 class Dept { private string name; private Emp emp; public string getName() { return this.name; ...
- demo项目开发(Python+flask+mysql+redis只包含后端接口)
[demo项目开发需求] 用户信息管理,可以注册.登录.添加用户.删除用户 注册:任何用户可以注册,对用户提交的注册信息进行校验,返回对应的信息,其中: 用户名:必填,唯一 密码:必填,只能6-12位 ...
随机推荐
- November 22nd 2016 Week 48th Tuesday
Eventually, you will learn to cry on the inside. 终有一天,你得学会让眼泪在心里流. Cry on the inside. I am tired, an ...
- java内部类案例
实现键值对的存储输出 import java.util.Arrays; public class EntryDemoTest { //实现键值对的存储 public static void main( ...
- Spring-IOC bean 生命周期之 Lifecycle 钩子
Lifecycle callbacks Initialization callbacks.Destruction callbacks 要与容器的bean生命周期管理交互,即容器在启动后和容器在销毁前对 ...
- 【bzoj 4154】[Ipsc2015]Generating Synergy
题目 大概已经掌握熟练码出\(kdt\)的技能了 发现距离子树根节点\(x\)不超过\(l\)的点可以用两种方式来限制,首先\(dfs\)序在\([dfn_x,dfn_x+sum_x)\)中,深度自然 ...
- TensorFlow函数(八)tf.control_dependencies()
tf.control_dependencies(control_inputs) 此函数指定某些操作执行的依赖关系 返回一个控制依赖的上下文管理器,使用 with 关键字可以让在这个上下文环境中的操作都 ...
- C. Phone Numbers
http://codeforces.com/problemset/problem/940/C And where the are the phone numbers? You are given a ...
- 倒计数锁存器(CountDown Latch)和 CyclicBarrier(同步屏障)
倒计数锁存器(CountDown Latch)是异常性障碍,允许一个或多个线程等待一个或者多个其他线程来做某些事情. public static long time(Executor executor ...
- .NET Core中多语言支持
在.NET Core项目中也是可以使用.resx资源文件,来为程序提供多语言支持.以下我们就以一个.NET Core控制台项目为例,来讲解资源文件的使用. 新建一个.NET Core控制台项目,然后我 ...
- 三星S5-PV210内存初始化
一.S5PV210时钟系统 时钟:一定频率的电信号. 时钟系统:基于CMOS工艺的高性能处理器时钟系统,集成PLL可以从内部触发,比从外部触发更快且更准确,能有效地避免一些与信号完整性相关的问题. ...
- C语言中堆内存的开辟和释放与内存处理函数
C语言动态分配内存,malloc的出现就是来弥补静态内存分配的缺点 比如说我们在定义数组的时候,数组的长度必须是一个常量,不能改变的值,假如我事先定义了数组,一旦业务需求发生改变,那么这个数组就不能再 ...