Flask 模板(一)

使用模板有助于将业务逻辑与表现逻辑分开,更易于维护。模板是已经建立的网页代码,其中部分动态数据需要在请求的上下文中用具体值替换。

flask中使用了Jinja2模板引擎,储存在templates文件夹中。

templates/index.html
<
h1>Hello World!</h1>

使用 {{ name }} 占位

templates/user.html
<h1>Hello, {{ name }}!</h1>

 

模板的渲染

模板的渲染即用真实值取代模板中的占位变量的过程。

from flask import Flask,render_template
@app.route('/')
def index():
    return render_template('index.html',name=name)

变量可以从列表、字典和对象获取。

<p>A value from a dict:{{ mydict['key'] }}</p>
<p>A value from a list:{{ mylist[3] }}</p>
<p>A value from a list with a variable index:{{ mylist[intvar] }}</p>
<p>A value from a object's method :{{ myobj.mymethod() }}</p>

使用过滤器修改变量:

{{ name|capitalize }}

常用过滤器:

过滤器名 说明
safe 渲染时不转义
capitalize 首字母大写,其他小写
lower 小写
upper 大写
title 每个单词首字母大写
trim 去掉首尾空格
striptags 把值中所有html标签删掉

 

 

 

 

 

 

 

 

控制结构

 

{% if user %}
    Hello,{{ user }}
{% else %}
    Hello,Stranger!
{% endif %}

 

<ul>
    {% for comment in comments %}
        <li>{{ comment }}</li>
    {% endfor %}
</ul>

 

posted @ 2018-03-14 23:25  Zephyrd  阅读(213)  评论(1编辑  收藏  举报