Flask会话变量无法赋值
我最近在做一个网页应用,已经有一个月了,感觉进展得还不错,毕竟我对这些东西还很陌生。可是昨天我对一个页面进行了AJAX的改造,目的是让用户能实时看到服务器处理的反馈。结果现在我启动应用时,第一行代码就出错了(这行代码之前一直没问题),我是在检查会话对象,看看是否有操作正在进行。
我遇到的错误是:
UnboundLocalError: local variable 'session' referenced before assignment
当我尝试运行以下代码时:
if 'active_op' not in session:
print 'bizbaz'
如果这段代码之前一直能正常工作,我本来会以为是我哪里写错了。但我把代码恢复到AJAX更新之前的样子,结果还是出现这个错误,尽管昨天用同样的代码是没问题的。对此如果能给我一些建议,我会非常感激。正如我说的,我对网页应用开发和会话的理解还不够深入。看来我对会话和Flask的使用理解得有点偏差,因为我完全搞不懂为什么这突然就不工作了。如果有什么我可以做的来澄清我的问题,请告诉我;我在这里卡住了,直到弄清楚这个问题。谢谢!
编辑: 我之前有一段代码,试图把一个字典赋值给会话变量。
session = {'foo':'bar'}
1 个回答
6
确保在使用会话之前先导入它
from flask import session
编辑
主要的问题是你把一个字典赋值给了'session'这个变量,这是不应该的。
# Incorrect
session = {'foo':'bar'}
应该这样做
session['foo'] = 'bar'