防止Flask会话在Ajax调用上更新

时间:2018-08-24 16:08:36

标签: python ajax flask

我有一个使用Highcharts的Flask网站。有一个javascript计时器,每隔几分钟就会启动并向服务器发送ajax请求,以获取最后几分钟的数据并更新图表。

我还使用以下代码将网站设置为在闲置30分钟后终止会话:

@app.before_request
def make_session_permanent():
    session.permanent = True  
    app.permanent_session_lifetime = timedelta(minutes=30) 
    session.modified = True

但是,由于ajax调用每隔几分钟运行一次,因此Flask会不断更新会话时间,因此会话永远不会超时。

我希望Flask在进行Ajax调用时不更新会话时间。我已经尝试过执行类似的操作,但是它似乎不起作用:

@app.before_request
def make_session_permanent():
    if not re.match("^/api/", request.path):
        session.permanent = True  
        app.permanent_session_lifetime = timedelta(minutes=30) 
        session.modified = True

...其中图表数据来自以/ api /开头的任何端点。

我还设置了:

app.config.update(
    SESSION_REFRESH_EACH_REQUEST = False
)

0 个答案:

没有答案