Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2 。Flask使用 BSD 授权。
Flask是一个轻量级的可定制框架,使用Python语言编写,较其他同类型框架更为灵活、轻便、安全且容易上手。它可以很好地结合MVC模式进行开发,开发人员分工合作,小型团队在短时间内就可以完成功能丰富的中小型网站或Web服务的实现。另外,Flask还有很强的定制性,用户可以根据自己的需求来添加相应的功能,在保持核心功能简单的同时实现功能的丰富与扩展,其强大的插件库可以让用户实现个性化的网站定制,开发出功能强大的网站。
下载安装flask依赖
1 2 3 4
| pip install Flask pip install Flask-Cors pip install Flask-Migrate pip install Flask-SQLAlchemy
|
flask的入门使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| from flask import Flask,redirect,url_for,jsonify
app = Flask(__name__)
@app.route('/') def index(): return 'hello python'
if __name__ == '__main__': app.run(debug=True)
|
flask的路由传参
1 2 3 4
| @app.route('/hello/<id>') def hello(id): print(id) return '123 世界 参数%s'%id
|
flask的跳转
flask有两种跳转方式,一种是根据网址跳转,一种是根据函数名跳转
1 2 3 4 5
| @app.route('/re') def re():
return redirect('http://okwzh.cn')
|
1 2 3 4 5 6 7
| @app.route('/url') def url(): return redirect(url_for('re'))
|
flask返回json类型
1 2 3 4 5 6 7 8 9 10 11 12 13
| @app.route('/json') def re_json(): json_dict = { 'id':10, 'title':'王增辉', 'content':'这是json类型' } return jsonify(json_dict)
app.config['JSON_AS_ASCII'] = False
|
flask的钩子方法及使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| @app.before_first_request def brfore_first_request(): print('这是第一次请求之前调用的方法')
@app.before_request def before_request(): print('每次请求之前调用的方法')
@app.after_request
def after_request(response): print('每次请求之后调用的方法') return response
@app.teardown_request def teardown_request(e): print('服务器出现的错误是%s'%str(e))
|
flask添加配置文件的三种方式
1.从配置文件里加载配置
创建一个config.ini的文件,里面存放配置信息
app.config.from_pyfile(‘config.ini’)
2.从环境变量中加载配置
app.config.from_envvar(‘app_config’)
3.从配置对象来加载配置
1 2 3 4 5 6
| class Config: DEBUG = True JSON_AS_ASCII = False
app.config.from_object(Config)
|
flask统一对状态码捕获异常
1 2 3 4 5 6 7 8
| @app.errorhandler(405) def get_error(e): return '这个接口不能被get获取到,只能被post获取'
@app.errorhandler(404) def get_error2(e): return '网页不存在'
|