参考文档:Flask中文文档
为什么选择Flask?
Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2。Flask使用 BSD 授权。Flask也被称为 “microframework” ,因为它使用简单的核心,用extension增加其他功能。Flask没有默认使用的数据库、窗体验证工具。
Flask框架是Python的web框架,最大特征就是轻便,让开发者自由灵活的兼容开发的feature。Python语言灵活性给予了Flask框架同样的特征,无论用户画像还是产品推荐,Python对比其他语言都有很大的优势。另外Flask框架轻便,容易上手,试错成本低,提供异步(async
),搭建网站的时候,Flask框架是最好的选择。
安装flask及相关及相关依赖包
pip install flask # 框架安装
# 相关依赖
pip install flask-cors # 跨域
pip install flask-socketio # socket通信
pip install flask-sqlalchemy # 操作数据库的ORM
pip install flask[async] # flask异步
创建一个最小的Flask项目
from flask import Flask
from flask import Response, jsonify
import time
# 建立flask实例
app = Flask(__name__)
# 解决中文乱码
app.config['JSON_AS_ASCII'] = False
# 视图
@app.route('/test/')
def test():
return jsonify({'msg': '你好,Flask!', 'code': 200})
# async 用于有时间消耗的视图上
@app.route('/', methods=['GET', 'POST', 'DELETE', 'PUT', 'CATCH'])
async def myData():
print(f'-----开始执行------')
time.sleep(5)
print('-----执行结束------')
return Response('ok')
# 调用实例对象
if __name__ == '__main__':
# 开启调试 配置(默认为localhost)
app.run(debug=True, host='127.0.0.1', port=5000)
Django和flask的对比
测试接口
用
requests
模块测试接口
import requests
# GET请求示例
res = requests.get('http://127.0.0.1:5000/', params={'id': 1})
# POST请求示例
res2 = requests.post('http://127.0.0.1:5000/', data={'id': 1})
# 打印结果
print(res.text)
print(res2.text)
总结
任何Web框架都都是这样一个流程,浏览器先向服务器发送请求,服务器接收到请求后,做相应的处理,然后封装好响应报文,再回送给浏览器。浏览器拿到响应报文后,再通过 浏览器引擎去渲染网页,解析DOM树,javascript引擎解析并执行脚本操作,插件去干插件该干的事儿…在框架的选择上还是根据项目需求去选择。