-
初始化
所有Flask程序都必须创建一个程序实例。
程序实例是Flask类的对象,经常使用下述代码创建:
from flask import Flask app = Flask(__name__)
Flask类的构造函数只有一个必须指定的参数,及程序主模块或包的名字。
在大多数程序中,Python的__name__变量就是所需的值。
-
路由和视图函数
客户端把请求发送给Web服务器,Web服务器再把请求发送给Flask程序实例。
程序实例需要知道对每个URL请求运行哪些代码,所以保存了一个URL到python函数的映射关系。处理URL和函数之间关系的程序成为路由。
在Flask程序中定义路由的最简便方式,是使用程序实例提供的app.route修饰器,把修饰函数注册为路由。
如下面的例子所示:
@app.route('/') def index(): return '<h1>Hello World!<h1>'
上面的例子把index()函数注册为程序根地址的处理程序。如果部署程序的服务器域名为www.example.com,在浏览器访问http://www.example.com后,会触发服务器执行index()函数。这个函数的返回值成为响应,是客户端接收到的内容。
像index()这样的函数称为视图函数。
-
启动服务器
程序实例用run方法启动Flask集成的开发Web服务器:
if __name__ == '__main__': app.run(debug=True)
__name__ == '__main__'是python的惯常用法,在这里确保直接执行这个脚本时才启动开发Web服务器。
-
一个完整的小程序
前面介绍了Flask Web程序的不同组成部分,开始写一个程序了。
整个manman.py脚本程序就是把前面介绍的三部分合并到一个文件中。
程序代码如下所示:
# -*- coding: utf-8 -*- # manman.py 一个简单的小程序 from flask import Flask app = Flask(__name__) @app.route('/') def index(): return '<h1>曼曼,早上好,中午好,晚上好!<h1>' if __name__ == '__main__': app.run(debug=True)
运行这个程序,然后在浏览器中输入地址:http://127.0.0.1:5000/
就会看到:
好了,关于Flask Web简单小程序就介绍到这里。