Python Flask框架入门
HelloFlask
写一个简单的flask程序:
from flask import Flask
app=Flask(__name__)
@app.route('/')
def index():
return '<h1>Hello Flask!</h1>'
if __name__=='__main__':
app.run(debug=True)
第一部分——初始化:所有的Flask都必须创建程序实例,程序实例是Flask的对象,一般情况下用如下方法实例化Flask类只有一个必须指定的参数,即程序主模块或者包的名字,name是系统变量,该变量指的是本py文件的文件名"""
第二部分——路由和视图函数:客户端发送url给web服务器,web服务器将url转发给flask程序实例,程序实例需要知道对于每一个url请求启动那一部分代码,所以保存了一个url和python函数的映射关系。处理url和函数之间关系的程序,称为路由。在flask中,定义路由最简便的方式,是使用程序实例的app.route装饰器,把装饰的函数注册为路由,在访问网页时,也要添加相应的路径。’/'则是根目录。
第三部分——程序实例用run方法启动。run()可以添加参数debug=True,它能够在代码出错时及时将错误返回到网页上。
在了解了代码的基本框架后,我们运行py文件,打开链接,发现Hello Flask被打印在页面上
这是因为Flask调用视图函数后,会将其返回值作为响应内容,作为HHTML页面返回客户端
Flask框架之模版
from flask import render_template
需要首先在目录下建立一个templates子目录,在这里我们存放我们的模版。模版包括相应文本的文件,用真值替换变量返回响应字符串。
尝试编辑一个index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Jinja2模版</title>
</head>
<body>
<h1>Hello,{{name}}!</h1>
</body>
</html>
然后在py文件中修改index()
def index():
return render_template('index.html',name='Flask')
这样,我们就得到了和之前一样的效果
其中{{name}}表示一个变量,从渲染模版的数据中取值。用其他字符串赋值给name,就可以得到不同的页面显示结果。
而模板文件中的变量不止可以是字符串,还可以是许多其他复杂的类型。我们把人脸检测内容加入Flask代码中,将输出结果作为参数传入index模板文件里,可以得到如下网页:
这是对于Flask最初级的应用。使用pymysql数据库和Flask建立联系,还可以进行链接数据库等操作,留到后续进行补充。