python flask api基础的生产级别的需要的知识

此文裆适合有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了

补充一些其他的

如果有帮助请点赞,评论,收藏,你的支持是我编写的最大动力哦

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值