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>
欢迎关注微信公众号“Python自动化测试”