此文裆适合有python基础的编程知识,但还没怎么了解过后端api接口开发的人
主要是知道哪一些是一定要学的,看文档哪些地方能快速帮助你入门,解决问题,帮助你快速开发
Github https://github.com/pallets/flask/
文档 https://flask.palletsprojects.com/en/3.0.x/quickstart/#routing
基础服务必要的
看文档学习下面的知识
一个最小的应用程序
调试模式
路由
route()装饰器
变量规则
HTTP 方法
请求能用什么方法,访问
访问请求数据
请求的参数
文档里面是直接获取
request.form[‘username’]
searchword = request.args.get(‘key’, ‘’)
下面代码是
把请求的参数转化成字典,然后获取
if req.method == 'POST':
if 'application/json' in req.headers.environ['CONTENT_TYPE']:
# api_token = str(req.json.get('api_token', ''))
return req.json
elif 'application/x-www-form-urlencoded' in req.headers.environ['CONTENT_TYPE']:
# api_token = str(req.form.get('api_token', ''))
return request.form.to_dict()
elif 'application/form-data' in req.headers.environ['CONTENT_TYPE']:
# api_token = str(req.form.get('api_token', ''))
return request.form.to_dict()
#get
return req.args.to_dict
关于回应
带有 JSON 的 API
这是写返回json,类似字典,让别人好接收。
return a dict or list 返回这两个就会自动转为json
日志记录
logger.debug(‘A value for debugging’)以前这样就可以写在日志里面
app.logger.debug(‘A value for debugging’) 现在要这样
部署到 Web 服务器
开发应用程序后,您需要将其公开提供给其他用户。当您在本地开发时,您可能会使用内置的开发服务器、调试器和重新加载器。这些不应该在生产中使用。相反,您应该使用专用的 WSGI 服务器或托管平台,此处将介绍其中一些。
Gunicorn
下面写的也是必要的
这只是我用过的,并不是一定要用这个
简单的关联文档 https://flask.palletsprojects.com/en/3.0.x/deploying/gunicorn/
官网 https://docs.gunicorn.org/en/stable/
安装
run
关联文档里面的简单设置启动
Configuration
官方文档里面的
https://docs.gunicorn.org/en/stable/configure.html
下面这个是详细的Configuration 里面的参数意义
https://docs.gunicorn.org/en/stable/settings.html
我们一般会使用Configuration File
Gunicorn -c “Config File” 启动 命令
Configuration File 里面的参数
https://docs.gunicorn.org/en/stable/configure.html#configuration-file
#表示监听所有可用的网络接口上的9677端口
bind = “0.0.0.0:9679”
Logging
logs_root = “logs”
os.makedirs(logs_root, exist_ok=True)
loglevel = ‘info’
pidfile = logs_root+“/gunicorn.pid”
accesslog = logs_root+“/access.log”
errorlog = logs_root+“/debug.log”
Worker Processes
timeout = 60
启动的进程数
workers = multiprocessing.cpu_count()
workers = 3
服务器机制
daemon =true 就是后台启动,不会随着窗口关闭而关闭
到这你就可以和自己编写的功能结合创建了一个初步的生产级别的api了
补充一些其他的
如果有帮助请点赞,评论,收藏,你的支持是我编写的最大动力哦