在你的情况下,
NullSessionInterface会话实现会引发异常,这是使用Flask-Session时的默认会话类型。这是因为你从未真正将
SESSION_TYPE配置提供给Flask;仅在模块中将其设置为全局变量是不够的。所述瓶会话快速启动的示例代码并设置一个全局,但随后通过调用使用当前模块作为配置对象
app.config.from_object(__name__)。
对于Flask 0.10或更高版本,此默认设置没有太大意义;
NullSessionFlask 0.8或0.9可能是有意义的,但是在当前版本中,
flask.session.NullSession该类用作错误信号。就你而言,它现在给你错误的错误消息。
将SESSION_TYPE配置选项设置为其他内容。挑一个
redis,memcached,filesystem或
mongodb,并确保其设置在app.config(直接或通过各种
Config.from_*方法)。
为了进行快速测试,将其设置
filesystem为最简单。那里有足够的默认配置,无需额外的依赖即可正常工作:
if __name__ == "__main__": app.secret_key = 'super secret key' app.config['SESSION_TYPE'] = 'filesystem' sess.init_app(app) app.debug = True app.run()
如果你看到此错误并且没有使用Flask-Session,则说明设置密码时出了点问题。如果你正在设置app.config[‘SECRET_KEY’]或
app.secret_key处于上述
if __name__ == "__main__":防护状态,则出现此错误,则可能是通过将Flask项目作为模块导入的WSGI服务器运行了Flask应用程序,并且该
__name__ == "__main__"块永远不会运行。



