V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lbfeng
V2EX  ›  Flask

记录每一次 Request

  •  
  •   lbfeng · 2017-04-06 10:32:43 +08:00 · 2416 次点击
    这是一个创建于 2821 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想把每一次 Request 里的 HTTP_USER_AGENT, REQUEST_METHOD, PATH_INFO, REMOTE_ADDR, HTTP_ACCEPT_LANGUAGE, SERVER_PROTOCOL 记录到数据库里。可以写一个 function 搞定。怎么在每一次 request 时触发这个 function?

    4 条回复    2017-04-09 11:23:06 +08:00
    swulling
        1
    swulling  
       2017-04-06 10:54:07 +08:00   ❤️ 1
    http://flask.pocoo.org/docs/0.12/api/#flask.Flask.before_request

    用 @before_request ,一般这个地方放一些用户验证之类的,你用来存 request 内容也没问题
    Kilerd
        2
    Kilerd  
       2017-04-06 10:56:07 +08:00 via iPhone   ❤️ 1
    before request signal
    ryd994
        3
    ryd994  
       2017-04-06 20:56:59 +08:00 via Android   ❤️ 1
    其实这种不该 Nginx 做么……
    不一定 before request
    自己写个 wsgi middleware 套前面就可以了
    lbfeng
        4
    lbfeng  
    OP
       2017-04-09 11:23:06 +08:00
    Nginx 不能记录 user_id 之类的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2888 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 00:19 · PVG 08:19 · LAX 16:19 · JFK 19:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.