Flask会话变量不允许赋值

She*_*ork 3 python session flask web

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

我收到错误:

UnboundLocalError: local variable 'session' referenced before assignment
Run Code Online (Sandbox Code Playgroud)

当我尝试代码时:

if 'active_op' not in session:
    print 'bizbaz'
Run Code Online (Sandbox Code Playgroud)

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

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

session = {'foo':'bar'}
Run Code Online (Sandbox Code Playgroud)

小智 6

确保在使用之前导入会话

from flask import session
Run Code Online (Sandbox Code Playgroud)

编辑

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

# Incorrect
session = {'foo':'bar'}
Run Code Online (Sandbox Code Playgroud)

相反,它应该是

session['foo'] = 'bar'
Run Code Online (Sandbox Code Playgroud)