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位 ...
随机推荐
- FtpWebRequest与FtpWebResponse完成FTP操作
WebRequestMethods.Ftp类: 表示可与 FTP 请求一起使用的 FTP 协议方法的类型. AppendFile 表示要用于将文件追加到 FTP 服务器上的现有文件的 FTP ...
- Ubuntu 12.04常用快捷键
===== 桌面 ===== ALT + F1: 聚焦到桌面左侧任务导航栏,可按上下键导航. ALT + F2: 运行命令 ALT + F4: 关闭窗口 ALT + TAB: 切换程序窗口 ALT + ...
- ajax跨域请求在IE8中存在的问题
从没打算怎么去兼容老版本IE,毕竟微软自己都放弃了,可是最近做好的东西在所有的IE下都会出问题:GetJson不执行 本来觉得挺简单的,度娘也给出了一大堆的解决方案,可惜,基本上都是在说缓存,实际上并 ...
- 【收集】Python 微优化
1. 第二种方式可以节省寻找result的append属性的时间, 但会降低代码可读性和可维护性 # The way we're used to seeing it: result.append(&q ...
- 【错误记录】记录蛋疼的 mysql 错误
-- 应用信息表 DROP TABLE IF EXISTS `table_name`; CREATE TABLE `ks_apps_info` ( `id` ) NOT NULL COMMENT 'i ...
- 1875: [SDOI2009]HH去散步
Time Limit: 20 Sec Memory Limit: 64 MB Submit: 2333 Solved: 1204 [Submit][Status][Discuss] Descripti ...
- attr全选第三次失效
一功能checkbox时隐时现,比如第一次打开有勾选,第n次打开可能就不选了. 经过偶层层抽次剥茧(da da jiang you),终于知道了原因:attr()在二次选中勾选框时,失效. 比如,如下 ...
- javascript:apply方法 以及和call的区别 (转载)
javascript:apply方法 1. apply和call的区别在哪里 2. 什么情况下用apply,什么情况下用call 3. apply的其他巧 ...
- python基础整理2——Linux
Linux 目录 /:根目录,一般根目录下只存放目录 /bin./usr/bin: 可执行二进制文件的目录,如常用的命令ls.tar.mv.cat等 /boot:放置linux系统启动时用到的一些文件 ...
- django 表结构
django 表结构 一:查看orm写的sq语句:如果对某个语句不清楚的话可以调用queryset的的query方法来查看sql. 1 obj=Hostinfo.objects.filter(id=v ...