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模板渲染的更多相关文章

  1. Flask -- 静态文件 和 模板渲染

    静态文件 一般用于存放图片,样式文件(css, js等) 保存位置:包中或者文件所在目录创建一个 static 目录 访问:在应用中使用 /static/...即可访问 , 更好的方式是使用url_f ...

  2. Flask中的request模板渲染Jinja以及Session

    Flask中的request与django相似介绍几个常用的以后用的时候直接查询即可 1.request from flask import request(用之前先引用,与django稍有不同) r ...

  3. flask学习(九):模板渲染和参数传递

    一. 如何渲染模板 1. 模板放在templates文件夹下 2. 从flask中导入render_template函数 3. 在视图函数中,使用render_template函数,渲染模板 注意:只 ...

  4. flask框架下的jinja2模板引擎(1)(模板渲染)

    #转载请留言联系 模板是什么? 在 flask 框架中,视图函数有两个作用:处理业务逻辑和返回响应内容.在大型应用中,把业务逻辑和表现内容放在一起,会增加代码的复杂度和维护成本.模板作用即是承担视图函 ...

  5. Flask(1):基本示例、配置文件、路由、请求和响应、模板渲染

    Flask的特点: - pip install flask - 短小精悍.可扩展性强的 web框架 注意:上下文管理机制 - 依赖 wsgi:werkzeug Flask的简单示例: from fla ...

  6. Python Web Flask源码解读(三)——模板渲染过程

    关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...

  7. Flask模板渲染

    目录 Flask模板渲染 Jinja2模板引擎简介 模板 Jinja2 模板变量 变量 控制结构 宏,类似Python代码中的函数 模板继承 包含(Include) 过滤器 链式调用 常见内建过滤器 ...

  8. (4)Flask项目模板渲染初体验

    一.准备静态资源 将项目使用到的静态资源拷贝到static目录 二.创建前台首页html 创建templates/home/home.html页面,内容包含导航和底部版权两部分,中间内容区域为模板标签 ...

  9. Flask 的模板渲染

    Flask 的模板渲染 渲染模板语言和django很像,都是用{{}},{%%} 注意点: 1 flask给模板传值,render_template("index.htm",use ...

随机推荐

  1. TeeChart设置图表的标题

    TeeChart的图表的标题设置方法 tChart1.Header.Text = "图表"; tChart1.Header.Lines = new string[] { " ...

  2. AtCoder Tenka1 Programmer Beginner Contest 解题报告

    赛时写了ABC,D实在没啥思路,然后C又难调...然后就从写完AB时的32名掉到了150+名 T_T 码力不够,思维不行,我还是AFO吧 比赛链接 A - Measure sb模拟,奇数串倒着输出偶数 ...

  3. triggerHandler不执行事件默认值

    <input type="text" /> $('input').triggerHandler('focus');

  4. [不屈的复习] - http://how2j.cn/

    http://how2j.cn/ 该教程网站分得比较规整!

  5. 到底二级域名和一级域名哪个更利于SEO

    到底二级域名和一级域名哪个更利于SEO呢?本文是从百度官方转载详细的介绍:二级域名和一级域名的区别,请各位认真阅读. 二级域名和子域名的区别可以通过以下3点来解读: 一,二级域名的特点 搜索引擎往往将 ...

  6. 51nod 1243 排船的问题(二分)

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1243 题意: 思路: 二分来做,每次贪心的把船安排到能安排的最左边即可. ...

  7. 机器学习-数据可视化神器matplotlib学习之路(四)

    今天画一下3D图像,首先的另外引用一个包 from mpl_toolkits.mplot3d import Axes3D,接下来画一个球体,首先来看看球体的参数方程吧 (0≤θ≤2π,0≤φ≤π) 然 ...

  8. mysql中index与Multiple-Column Indexes区别与联系

    索引对提升SELECT/UPDATE语句查询速度有着立竿见影的效果,有索引和无索引,查询速度往往差几个数量级. 本次讨论一下index(每列作为一个索引,单列索引)和Multiple-Column I ...

  9. SetParent

    1.http://bbs.csdn.net/topics/390672855 该帖子中 第15楼: “ MSDN里面说了:if hWndNewParent is not NULL and the wi ...

  10. TinyXml节点查找及修改

    参考:http://blog.csdn.net/zww0815/article/details/8083550 // 读者对象:对TinyXml有一定了解的人.本文是对TinyXml工具的一些知识点的 ...