相关疑难解决方法(0)

什么时候应该使用Flask.g?

看到的是g将从请求上下文移动到瓶0.10的应用程序上下文,这让我困惑的用途的g.

我的理解(对于Flask 0.9)是:

  • g 生活在请求上下文中,即在请求开始时重新创建,并且可用直到它结束
  • g用作"请求黑板",我可以在请求的持续时间内放置相关的东西(即,在请求开始时设置一个标志并在最后处理它,可能来自before_request/ after_requestpair)
  • 除了保持请求级别状态之外,g可以并且应该用于资源管理,即保存数据库连接等.

Flask 0.10中哪些句子不再适用?有人能指点我讨论改变原因的资源吗?我应该在Flask 0.10中使用什么作为"请求黑板" - 我应该创建自己的应用程序/扩展特定的线程本地代理并将其推送到上下文堆栈before_request吗?如果我的应用程序存在很长时间(不像请求),那么资源管理在应用程序上下文中的重点是什么?因此资源永远不会被释放?

python flask

157
推荐指数
2
解决办法
7万
查看次数

请求前烧瓶 - 为特定路线添加例外

before_request()函数(下面)中,/login如果用户尚未登录,我想将用户重定向到.是否有一个特殊的变量可以为我提供当前的URL,如下例所示?

@app.before_request
def before_request():
    # the variable current_url does not exist
    # but i want something that works like it
    if (not 'logged_in' in session) and (current_url != '/login'):
        return redirect(url_for('login'))
Run Code Online (Sandbox Code Playgroud)

我需要检查当前的URL /login,因为如果我不这样做,服务器进入无限循环.

python flask

39
推荐指数
3
解决办法
5万
查看次数

标签 统计

flask ×2

python ×2