zoukankan      html  css  js  c++  java
  • Flask-报错:RuntimeError: The session is unavailable because no secret key was set.

    当我们在编写Flask项目的时候,一般来说,如果遇到这个错误时:

    错误:RuntimeError: The session is unavailable because no secret key was set.  Set the secret_key on the application to something unique and secret.

    网上基本上都是说,在Flask对象app下面设置SECRET_KEY:

    app = Flask()
    app.secret_key = 'xxxxxxx'

    这确实是一种解决方法,可是我的问题来了,我将app的创建封装在了工厂函数create_app下了,而且我的config.py配置文件中,也已经设置了SECRET_KEY,但是当我将数据保存在session中,总是会报错,说我没有设置SECRET_KEY这个参数:

     

     配置完成后,然后启动项目初始化,也都加载成功了,但是一到保存数据在session中时,就会报错,找不到SECRET_KEY,找了好几个小时的解决方法,最后发现了这个方法:

    这是Flask的SESSION_TYPE的session存储格式,一共有这五种:

    我最后在配置文件中添加的存储类型是:filesystem类型

     添加这个类型还会报一个错:

    ModuleNotFoundError: No module named 'werkzeug.contrib'

    这个github上说的是:werkzeug高了,我之前用的是1.0.1,上面说降到0.16.0版本,然后我降了版本,确实能够正常访问了。

    应该还可以设置其他类型的session存储类型,下次可以试试。

  • 相关阅读:
    C# 将Excel中的数据到DataSet中
    Struts select标签在 FreeMarker 中的使用。
    .Net 中显式实现接口
    C#抽象类和抽象方法的应用
    iframe 自动控制高
    兔子问题总结(总结)
    MySQL group_concat 方法的使用
    服务发现与负载均衡机制的实现
    ChannelFuture
    服务发布、订阅及远程通信
  • 原文地址:https://www.cnblogs.com/aidenzdly/p/12705016.html
Copyright © 2011-2022 走看看