我正在使用蓝图来构建Web应用程序。我遇到的问题不是持久性问题。我可以启动会话,但是当我单击链接时会话丢失。我做错了什么?我没有使用数据库登录我只是硬编码。
当我提交时,我做了
session ['username'] =我。
在我登录后重定向到的页面上工作。但是,当我单击该页面上的链接时,会话将丢失。该
会话[“用户名”]
离开了。我也有我的秘密密钥集。它在我的配置文件中是硬编码的。
在我的管理文件夹中,我有一个带有登录信息的路由文件。登录有效,但当我点击链接转到其他页面时,用户名将丢失。
C:.
└───blueprintsite
├───admin
│ ├───templates
│ │ └───admin
│ └───__pycache__
├───reports
│ └───__pycache__
├───users
│ ├───templates
│ │ └───site
│ └───__pycache__
├───static
│ ├───css
│ ├───fonts
│ ├───images
│ │ ├───media
│ │ ├───people
│ │ └───preview
答案 0 :(得分:2)
您好,您可以开始使用Flask-Login来处理您的用户身份验证和会话管理,好的事情是使用flask-login,您不必担心会话管理,因为它会自动为您执行此操作。我已经将它用于我的Blueprint应用程序多年了,它对我来说非常适合。
给它一个阅读,我希望它可以帮助你
答案 1 :(得分:0)
当您的Flask应用的SESSION_COOKIE_PATH
(或APPLICATION_ROOT
)configuration values不包含蓝图设置为路由的路径时,可能会发生此问题。
例如,如果您的应用的APPLICATION_ROOT
设置为/pages
,但您的蓝图的前缀为/admin
,那么前者的会话Cookie就会赢得&#t对后者有效。在这种情况下,明确地将SESSION_COOKIE_PATH
设置为/
应该可以解决问题。