flask模版继承和block
模版继承和block的目的就是为了减少前端代码量
flask_ones.py
#encoding:utf-8
from flask import Flask,url_for,redirect,render_template app = Flask(__name__) @app.route('/')
def index():
return render_template('index.html') @app.route('/login/')
def login():
return render_template('login.html') if __name__ == '__main__':
app.run(debug=True)
html文件
#################### index.html ################## <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.nav{
background:rebeccapurple;
height:65px;
}
ul{
overflow: hidden;
}
ul li{
float: left;
list-style: none; padding:0 10px;
line-height: 65px;
} ul li a{
color: white;
}
</style>
</head>
<body>
<div class="nav">
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">发布问答</a></li>
</ul>
</div>
<h1>这是index页面</h1>
</body>
</html> #####################login.html###################
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登陆页面</title>
<style>
.nav{
background:rebeccapurple;
height:65px;
}
ul{
overflow: hidden;
}
ul li{
float: left;
list-style: none; padding:0 10px;
line-height: 65px;
} ul li a{
color: white;
}
</style>
</head>
<body>
<div class="nav">
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">发布问答</a></li>
</ul>
</div>
<h1>这是login页面</h1>
</body>
</html>
对比index.html和login.html的代码发现,除了红色的代码部分,其余代码均一样,而如果有其他更多类似的页面,会加大代码的量,因此引出以下的模版继承和block
语法:
{% extends "base.html" %} {% block name %}
....
{% endblock %}
所以以上代码简化为:
同级目录新建一个common.html,将相同的代码部分通过继承带进去,如下:
common.html(公共代码部分)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.nav{
background:rebeccapurple;
height:65px;
}
ul{
overflow: hidden;
}
ul li{
float: left;
list-style: none; padding:0 10px;
line-height: 65px;
} ul li a{
color: white;
}
</style>
</head>
<body>
<div class="nav">
<ul>
<li><a href="#">首页</a></li>
<li><a href="#">发布问答</a></li>
</ul>
</div>
{% block main %} {% endblock %} </body>
</html>
此时index.html和login.html代码为:
#index.html
{% extends "base.html" %} #代表继承base.html {% block main %} #这里的main要与base.html里blcok的设定的名字相同
<h1>这是index页面</h1> #将这里的内容传到base.html的block下,并在本文件里应用
{% endblock %} #login.html
{% extends "base.html" %} {% block main %}
<h1>这是登陆页面</h1>
{% endblock %}
flask模版继承和block的更多相关文章
- Django 模本(Template--for--csrf--if--filter--simple_tag模版继承等)
前提 关于html寻找路线: template 如果在各个APP中存在, Django 会优先找全局template 文件下的html文件,如果全局下的template文件没有相关的html Dja ...
- django系列4.1--模版系统,过滤器,标签,模版继承,组件
django 模版系统 一. 语法 { { 变量 } } {% 表达式 %} 二. 变量 { {变量名} } 深度查询据点符( . )在模版语言中有特殊的含义. 当模版系统遇到点(.) 查询顺序如下: ...
- tornado 模版继承 函数和类的调用
模版继承.函数和类的调用 目录结构 lesson5.py # -*- coding:utf-8 -*- import tornado.web import tornado.httpserver imp ...
- flask的继承和包含
为了方便使用重复的页面,我们也可以使用继承模板.还有包含模板,一般使用包含,俩个都不是很好理解,我只是用完的理解简单介绍一下,他们的用法打不相同,却又有类似之处 我们访问页面的时候在最上边会有导航的信 ...
- Django学习路28_ .html 文件继承及<block 标签>,include 'xxx.html'
在 templates 文件夹下创建 基类 base.html <!DOCTYPE html> <html lang="en"> <head> ...
- flask 模版语言及信息传递
if语句 格式: {% if command %} {% elif %} {% else %} {% endif %} 代码示例 flask_one.py #encoding:utf-8 from f ...
- python测试开发django-7.django模板继承(block和extends)
前言 打开一个网站时候,点导航栏切换到不同的页面,发现导航部分是不变的,只是页面的主体内容变了,于是就可以写个母模板,其它的子页面继承母模板就可以了. 母模板 可以在母模板中添加多个块标签,每个块标签 ...
- django学习-8.django模板继承(block和extends)
1.前言 django模板继承的作用:模板可以用继承的方式来实现复用,减少冗余内容. 一般来说,一个网站里一般存在多个网页的头部和尾部内容都是一致的,我们就可以通过模板继承来实现复用. 父模板用于放置 ...
- 12.Yii2.0框架视图模版继承与模版相互调用
目录 模板渲染的两种方式 加载视图 index.php 和 about.php 页面 建立控制器HomeController php 新建模板 home\index.php 新建模板home\abou ...
随机推荐
- 部署 Django
补充说明:关于项目部署,历来是开发和运维人员的痛点.造成部署困难的主要原因之一是大家的Linux环境不同,这包括发行版.解释器.插件.运行库.配置.版本级别等等太多太多的细节.因此,一个成功的部署案例 ...
- docker-安装技巧
使用官方脚本安装 curl -fsSL "https://get.docker.com/" | sh 使用yum 安装是可以查看版本 yum list docker-ce.x86_ ...
- P2084 进制转换
原题链接 https://www.luogu.org/problemnew/show/P2084 这个题的思路就是先将输入的数字存到字符数组里,然后求出这一串数字中的非0元素的个数total,并记录最 ...
- Get Luffy Out * HDU - 1816(2 - sat 妈的 智障)
题意: 英语限制了我的行动力....就是两个钥匙不能同时用,两个锁至少开一个 建个图 二分就好了...emm....dfs 开头low 写成sccno 然后生活失去希望... #include & ...
- day5 range 用法示例
函数语法 range(start, stop[, step]) 参数说明: start: 计数从 start 开始.默认是从 0 开始.例如range(5)等价于range(0, 5); stop: ...
- 自学Python3.4-函数分类(匿名函数)
自学Python之路-Python基础+模块+面向对象自学Python之路-Python网络编程自学Python之路-Python并发编程+数据库+前端自学Python之路-django 自学Pyth ...
- android TextView字体设置最少占多少行. 及其 Java String 字符串操作 . .
① 字体设置: 修改代码 : GridViewActivity.java priceTv为 TextView priceTv.setMaxLines(3); //当多与7个字fu的时候 , 其余字 ...
- asp.net处理事件
从来不用也从来不研究这事件.但为了写那种CGI式的接口不得已研究一下. 环境 W10 VS2017 测试方法:写一个实现IHttpModule接口的类,在Init方法中加载所有事件然后打出日志,看看 ...
- 课后选做题:MyCP
目录 CP命令了解 MyCP实现 CP命令了解 作用:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中.若 ...
- 20165223《JAVA程序设计》第一周学习总结
20165223 <JAVA程序设计>第一周学习总结 教材学习内容总结 通过网站JAVA第一章视频教程.教材.老师所给的教程及网上查询进行学习 第一章要点 JAVA地位和特点 地位:网络. ...