Flask:添加使用统计信息

dga*_*gan 2 python rest flask

我有一个Flask RESTapi,由多个团队使用,我想记录用户统计信息.API没有任何用户身份验证机制,因为在我们的公司环境中不需要它(它托管在内部服务器上,因此无论谁可以访问它,他/她都有权这样做).

不过,我想知道大多数请求的来源.当然,我可以轻松地在每条路线上添加一个记录器到数据库并保存request.remote_addr,但是我想在调用具体路径之前这样做(因为实际调用哪条路线并不重要,我还是想要用户统计信息); 因此,它可以复制到其他基于Flask的API,因此无需记住每次创建路径时都添加用户记录器.

好吧,问题是我应该寻找Flask的哪个部分,以便在将请求发送到具体路线之前添加我的额外功能?

Rob*_*kal 5

Flask有一个before_request函数,您可以使用全局请求对象访问当前请求.

from flask import request

@app.before_request
def working():
    do_something_with_request(request)
Run Code Online (Sandbox Code Playgroud)