过去一个月我一直在构建一个Web应用程序,对于我对这一切有多新的看法,情况出乎意料地顺利进行。也就是说,直到昨天,我在页面上进行了AJAX改造,为用户提供服务器端进程的实时反馈。现在,当我启动应用程序时,我的第一行代码出现错误(到目前为止没有产生任何问题),我检查会话对象以查看操作是否处于活动状态。
我收到错误:
UnboundLocalError: local variable 'session' referenced before assignment
当我尝试代码时:
if 'active_op' not in session:
print 'bizbaz'
如果以前没有工作过,我会认为我对这段代码做错了。我已经将我的代码恢复到AJAX更新之前的状态,我仍然会收到此错误,即使昨天使用相同的代码也是如此。任何关于此的指针都将非常感激。正如我所说的,我对Web应用程序开发和会话仍然有点新意。显然,我对会话和烧瓶使用它们的理解有点过时,因为我完全难以理解为什么它突然停止工作。让我知道我能做些什么来澄清我的问题;我被困住了,直到我弄明白这一点。谢谢!
编辑: 我有这个代码试图将一个字典分配给会话变量。
session = {'foo':'bar'}
答案 0 :(得分:5)
确保在使用之前导入会话
from flask import session
修改强>
主要问题是你要为'session'变量分配一个你不应该做的字典。
# Incorrect
session = {'foo':'bar'}
相反,它应该是
session['foo'] = 'bar'