Flask会话变量不允许赋值

时间:2014-03-06 18:00:36

标签: python session web flask

过去一个月我一直在构建一个Web应用程序,对于我对这一切有多新的看法,情况出乎意料地顺利进行。也就是说,直到昨天,我在页面上进行了AJAX改造,为用户提供服务器端进程的实时反馈。现在,当我启动应用程序时,我的第一行代码出现错误(到目前为止没有产生任何问题),我检查会话对象以查看操作是否处于活动状态。

我收到错误:

UnboundLocalError: local variable 'session' referenced before assignment

当我尝试代码时:

if 'active_op' not in session:
    print 'bizbaz'

如果以前没有工作过,我会认为我对这段代码做错了。我已经将我的代码恢复到AJAX更新之前的状态,我仍然会收到此错误,即使昨天使用相同的代码也是如此。任何关于此的指针都将非常感激。正如我所说的,我对Web应用程序开发和会话仍然有点新意。显然,我对会话和烧瓶使用它们的理解有点过时,因为我完全难以理解为什么它突然停止工作。让我知道我能做些什么来澄清我的问题;我被困住了,直到我弄明白这一点。谢谢!

编辑: 我有这个代码试图将一个字典分配给会话变量。

session = {'foo':'bar'}

1 个答案:

答案 0 :(得分:5)

确保在使用之前导入会话

from flask import session

修改

主要问题是你要为'session'变量分配一个你不应该做的字典。

# Incorrect
session = {'foo':'bar'}

相反,它应该是

session['foo'] = 'bar'