Flask框架的一大特色就是简单,简单得令人发指。只需要很少的代码,就可以编写一个可以运行的Web应用。下面就看一下使用Flask框架开发Web应用的基本步骤。
1. 导入flask模块:与Flask相关的API都在flask模块中,所以在使用Flask框架之前,必须导入flask模块。
2. 创建Flask对象:一个Flask对象表示一个Flask应用。
3. 编写路由:要想在浏览器中通过Url访问Web应用,必须至少编写一个路由。这里的路由其实就是客户端请求的Url与服务端处理这个Url的程序的一个映射。Flask中一个路由就是一个Python函数。
4. 调用Flask对象的run方法启动Web应用:要想长久处理客户端的请求,Web应用必须永久运行。调用run方法后,Web应用就会一直处理运行状态,以便等待客户端的请求。
这个例子会使用Flask框架编写一个最基本的Web应用,这个Web应用的代码只有8行(不包括注释)。在Web应用中添加了一个根路由,然后通过浏览器访问这个根路由,会在浏览器中显示服务器当前的时间。
代码语言:javascript复制# 导入flask模块中的Flask类from flask import Flaskfrom time import *# 创建Flask对象,一般会将当前模块的名字传入Flask类的构造方法app = Flask(__name__)# 定义路由方法@app.route('/')def hello(): # 返回服务器的时间 return strftime('%Y-%m-%d %H:%M:%S',localtime(time()))if __name__ == "__main__": # 运行Web应用 app.run()
现在运行程序,会在Console中输出如图1所示的信息。
图1 启动Web应用
根据图、1所示的输出信息,用Flask框架开发的Web应用的默认端口号是5000。所以如果读者的机器上5000端口号已经被占用,请关闭占用5000端口号的应用,然后再次运行本例。
图2是端口号被占用后输出的错误信息。
图2 5000端口号被占用后输出的错误信息
如果本例启动成功,请读者打开浏览器(IE、Chrome、Firefox等),在浏览器地址栏输入如下的Url。
代码语言:javascript复制http://127.0.0.1:5000
按回车键后,会在浏览器中输出如图3所示的信息。
图3 在浏览器中访问Web应用
- 在阅读本例代码时要了解如下几点。
- 基于Flask的Web应用的默认端口号是5000。
- Flask中的路由是一个函数,使用@app.route修饰。route的参数就是路由的路径。本例是“/”,表示根路由。如果在本机访问,就是“http://localhost:5000”。可以使用route添加更深的路径,如@app.route('abc'),客户端访问该路由的Url是“http://localhost:5000/abc”。
- 路由函数的返回值会直接当做返回给客户端的值,也就是HTTP响应数据。
- 一般会在if __name__ == "__main__"中运行run方法来启动Web服务。这个条件语句用来判断当前模块是直接运行的(通过python命令运行),还是通过其他模块调用的。如果条件为True,表示直接运行的。只有直接运行的模块才能启动Web服务。因为这个模块很可能会被其他模块引用,如果不加这个条件判断,就会重复启动Web服务了。