Flask是一个使用Python编写的轻量级Web应用框架。其 WSGI(Web Server Gateway Interface) 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。其操作灵活、简单易学的特性,尤其适合初学者快速了解Python web开发框架。本文主要以一个简单案例来介绍Flask的特性。
1.安装调试Flask
1.1 Flask的安装
Windows 下Flask的安装非常简单,只需要在命令窗口使用pip方式安装即可,会自动安装Flask所依赖的各种第三方包的。
pip install Flask
因为我之前已经安装过了,所以再用pip安装的话,会出现一下画面,如下图所示:
可以看到,Flask的使用时依赖于Werkzeug和jinja2的。
1.2 Flask测试
下面就以官方文档的hello world为例测试Flask(官方文档链接为:http://flask.pocoo.org/)。
测试代码如下所示:
# -*- coding: utf-8 -*-
"""
Created on Thu Jun 22 11:53:20 2017
@author: Administrator
"""
#从flask库中导入Flask函数
from flask import Flask
#创建Flask对象app
app = Flask(__name__)
'''
(1)使用程序实例提供的app.route修饰器,把修饰的函数注册为路由
(2)hello_world()函数在@app.route('/')后面,当通过127.0.0.1:5000访问服务器时,会触发服务器执行hell0_world()函数
'''
@app.route('/')
def hello_world():
return "<h1>Hello,World!</h1>"
if __name__ =='__main__':
#程序实例用run()方法启动Flask继承的Web服务器
app.run()
此时在浏览器中输入127.0.0.1:5000,回车即可看到Hello,World!的字样。
与此同时,python IDE中会提示接收到来自HTTP/1.1的请求,状态码200,成功返回请求。
2.Flask应用案例
下面这个flask案例可以实现网页重定向,根据用户名动态改变网页内容。代码如下所示:
# -*- coding: utf-8 -*-
"""
Created on Tue Jun 22 13:57:38 2017
@author: Administrator
"""
from flask import Flask
from flask import abort
from flask import redirect
__author__ = "zch"
app = Flask(__name__)
@app.route('/')
def index():
return '<h1>Hello World!</h1>'
@app.route('/user/<name>')
def say_hello(name):
if name == 'flask':
#实现网页重定向
return redirect('http://blog.youkuaiyun.com/flysky1991/article/details/73571968')
elif name == 'no':
#返回错误信息
return abort(404)
#根据用户名动态改变网页内容
return '<h1>Hello,%s</h1>' % name
if __name__ == '__main__':
app.run(debug=True)
测试结果如下图所示:
输入flask用户名时,网页自动重定向到 http://blog.youkuaiyun.com/flysky1991/article/details/73571968