Flask初级(六)flash模板渲染
Project name :Flask_Plan
templates:templates
static:static
继续上篇的模板
我们已经可以静态调用模板,包括继承模板,保证了页面的一致性,但是我们查询的东西,页面还都是在html文件中的。
渲染,就可以让我们把动态的内容,放进静态的模板中。
修改templates/plan.html
{% extends 'base.html' %}
{% block main1 %}
<h1>这是main1提交的新内容{{ name1 }}</h1>
{% endblock %}
{% block main2 %}
<h3>这是main2提交的新内容{{ name2 }}</h3>
{% endblock %}
修改Flask_Plan.py
@app.route('/')
def hello_world():
return render_template('plan.html',name1='测试name1的渲染',name2 ='name2渲染')
就这一行要改的。
访问首页的返回用render_template渲染基于base.html的子模板plan.html,并给其中的两个模板变量赋值。
试试吧。
单个模板变量的渲染不过瘾,我们多搞几个,不用这样写一堆变量传进去。
修改Flask_Plan.py
@app.route('/')
def hello_world():
plan = {
'date': '2017-12-12',
'train': 'T198',
'track': 10,
'start_time': '10:00',
'end_time': '12:00',
'plan_end': '8:30',
'plan_in': '9:30',
'plan_out': '18:00',
'plan_start': '20:40'
}
return render_template('plan.html', **plan)
修改templates/plan.html
{% extends 'base.html' %}
{% block main1 %}
<h1>这是main1提交的新内容{{ name1 }}</h1>
{% endblock %}
{% block main2 %}
<h3>这是main2提交的新内容{{ name2 }}</h3>
{{ train }} <br>
{{ date }}<br>
{{ track }}<br>
{{ start_time }}<br>
{{ end_time }}<br>
{{ plan_end }}<br>
{{ plan_in }}<br>
{{ plan_out }}<br>
{{ plan_start }}<br>
{% endblock %}
我们用**plan这个参数,把plan这个字典传入了模板渲染引擎,在plan.html这个模板中直接使用字典索引来显示值。
使用更多的模板变量。
修改Flask_Plan.py
def hello_world():
class plan(object):
P_end = '8:45'
P_in = '9:30'
W_start = '10:00'
W_end = '12:00'
P_out = '18:00'
P_start = '20:40' p1 = plan() plan = {
'date': '2017-12-12',
'train': 'T198',
'track': 10,
'time': p1, } return render_template('plan.html', **plan)
修改templates/plan.html
{% extends 'base.html' %}
{% block main1 %}
<h1>这是main1提交的新内容{{ name1 }}</h1>
{% endblock %}
{% block main2 %}
<h3>这是main2提交的新内容{{ name2 }}</h3>
{{ date }}
{{ time.P_start }}
{% endblock %}
这次我们引入了类的概念,把time赋值为实例化的plan,在模板中用 time.***来渲染。
我们也可以用字典的嵌套。
修改Flask_Plan.py
@app.route('/')
def hello_world():
class plan(object):
P_end = '8:45'
P_in = '9:30'
W_start = '10:00'
W_end = '12:00'
P_out = '18:00'
P_start = '20:40'
p1 = plan()
plan = {
'train': {
'date': '2017-12-12',
'train': 'T198',
'track': 10,
},
'time': p1,
}
return render_template('plan.html', **plan)
修改templates/plan.html
{% extends 'base.html' %}
{% block main1 %}
<h1>这是main1提交的新内容{{ name1 }}</h1>
{% endblock %}
{% block main2 %}
<h3>这是main2提交的新内容{{ name2 }}</h3>
{{ train.date }}
{{ time.P_start }}
{% endblock %}
字典的嵌套,我们把date ,train ,track嵌套在train中
在模板中使用train.date train.train train.track来渲染。
Flask初级(六)flash模板渲染的更多相关文章
- Flask -- 静态文件 和 模板渲染
静态文件 一般用于存放图片,样式文件(css, js等) 保存位置:包中或者文件所在目录创建一个 static 目录 访问:在应用中使用 /static/...即可访问 , 更好的方式是使用url_f ...
- Flask中的request模板渲染Jinja以及Session
Flask中的request与django相似介绍几个常用的以后用的时候直接查询即可 1.request from flask import request(用之前先引用,与django稍有不同) r ...
- flask学习(九):模板渲染和参数传递
一. 如何渲染模板 1. 模板放在templates文件夹下 2. 从flask中导入render_template函数 3. 在视图函数中,使用render_template函数,渲染模板 注意:只 ...
- flask框架下的jinja2模板引擎(1)(模板渲染)
#转载请留言联系 模板是什么? 在 flask 框架中,视图函数有两个作用:处理业务逻辑和返回响应内容.在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本.模板作用即是承担视图函 ...
- Flask(1):基本示例、配置文件、路由、请求和响应、模板渲染
Flask的特点: - pip install flask - 短小精悍.可扩展性强的 web框架 注意:上下文管理机制 - 依赖 wsgi:werkzeug Flask的简单示例: from fla ...
- Python Web Flask源码解读(三)——模板渲染过程
关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...
- Flask模板渲染
目录 Flask模板渲染 Jinja2模板引擎简介 模板 Jinja2 模板变量 变量 控制结构 宏,类似Python代码中的函数 模板继承 包含(Include) 过滤器 链式调用 常见内建过滤器 ...
- (4)Flask项目模板渲染初体验
一.准备静态资源 将项目使用到的静态资源拷贝到static目录 二.创建前台首页html 创建templates/home/home.html页面,内容包含导航和底部版权两部分,中间内容区域为模板标签 ...
- Flask 的模板渲染
Flask 的模板渲染 渲染模板语言和django很像,都是用{{}},{%%} 注意点: 1 flask给模板传值,render_template("index.htm",use ...
随机推荐
- Python3基础 file seek 将文件的指针恢复到初始位置
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- [BZOJ4244]邮戳拉力赛
Description IOI铁路是由N+2个站点构成的直线线路.这条线路的车站从某一端的车站开始顺次标号为0...N+1. 这条路线上行驶的电车分为上行电车和下行电车两种,上行电车沿编号增大方向行驶 ...
- 获取Spring项目配置文件元素
在开发中有时候要获取配置文件里的值,通常可以利用如下方式来读取: public class PropertyUtil { private static Properties p = new Prope ...
- [js] - 关于js的排序sort
js的排序sort并不能一次排序好 function solution(nums){ return nums.sort(sortNumber); } function sortNumber(a, b) ...
- samba基本应用24-4及示例
samba smb:service message block(137/udp, 138/udp, 139/tcp, 445/tcp) 协议是:CIFS:Common Internet File Sy ...
- UVa 3349 Snowflake Snow Snowflakes(Hash)
http://poj.org/problem?id=3349 题意: 给出n片雪花留个角的长度,要求判断是否有一样的雪花. 思路: Hash表的应用. 首先将每个雪花所有角的总长计算出来,如果两片雪花 ...
- hdu 3706 Second My Problem First 单调队列
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3706 Second My Problem First Time Limit: 12000/4000 M ...
- Cocos2d-x学习笔记(十)CC_CALLBACK回调函数相关宏
这里加入一个插曲,是关于Cocos2d-x回调函数的.首先,让我们Cocos支持的回调函数宏有哪些,以及其原型: // new callbacks based on C++11 #define CC_ ...
- c++ 容器元素填充(generate)
#include <iostream> // cout #include <algorithm> // generate #include <vector> // ...
- jdk1.8
Jdk1.8新特性 毫无疑问,Java 8是Java自Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库.工具和JVM等方面的十多个新特性.在本文中我们将学习这些新特性, ...