Flask中的模板应用(六)

        在前面的Flask知识体系中,对Flask的程序的总结主要停留在程序的请求和响应内容的显示,当然

还有开发一个产品中蓝图的应用。但是Flask毕竟是一个WEB的开发框架,所以对模板的应用也是该框架

知识体系的一部分。模板中主要应用的文件包含了HTML,CSS,IMAGE,JAVASCRIPT等文件。模板引擎的

作用就是读取并执行模板中的特殊语法标记,比如用户登录成功后,用户昵称的显示等动态参数的展示,

针对这些不可能按全部变量这样的方式来进行,当然也不可能把它直接写死,所以这就涉及到了Flask程

序与模板之间的交互。本质上说,Flask通过模板引擎把变量传给模板文件然后按期望的值展示出来,最终

输出到HTML的文件。在Flask程序中,默认的模板引擎是Jinjia2,它是一个功能比较全的Python模板引擎。

在这里,比如展示当前时间,见实现的源码:

from flask import Flask,request,render_template,url_for,redirect,jsonify,abort
from flask import  make_response
import  time

app = Flask(__name__)

app.config.update({
    'DEBUG': True,
    'TEMPLATES_AUTO_RELOAD': True
})



@app.route('/now')
def get_now():
    '''获取当前时间'''
    now=time.strftime('%y-%m-%d %X',time.localtime())
    content={'now_time':now}
    return render_template('now_time.html',**content)


if __name__ == '__main__':
    app.run()

 

对应的模板文件是now_time.html,在模板文件中直接调用变量now_time,调用的方法是加两个大括号,如{{变量}},

在Flask的程序中,应用模板首先需要导入flask中的render_template,并且在配置文件中指定模板文件的路径。见

now_time.html模板文件中调用变量now_time的源码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <center>
        <h1>当前时间:{{ now_time }}</h1>
    </center>
</body>
</html>

 

posted @ 2019-05-04 20:57  无涯(WuYa)  阅读(161)  评论(0编辑  收藏  举报