Flaskflash模板渲染

Posted 上官飞鸿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flaskflash模板渲染相关的知识,希望对你有一定的参考价值。

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 %}
View Code

修改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)
View Code

修改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 %}
View Code

我们用**plan这个参数,把plan这个字典传入了模板渲染引擎,在plan.html这个模板中直接使用字典索引来显示值。

 

以上是关于Flaskflash模板渲染的主要内容,如果未能解决你的问题,请参考以下文章

Flaskflash在模板中使用继承,模板的模板

Flaskflash与前台交互post详解

Spring boot:thymeleaf 没有正确渲染片段

高级openg 混合,一个完整程序

thymeleaf 片段渲染后重新加载 javascript

◮OpenGL-模板测试