python - 如何为 python flask web 应用程序进行会话管理?
问题描述
我对 python 烧瓶开发非常陌生,我刚刚完成了我的第一个网络应用程序。将我的 python 烧瓶网络应用程序放入一个简单的示例中,假设网络应用程序要求您使用用户 ID 和密码(通过 LDAP 验证)登录。登录后,Web 应用程序允许您在表单中输入数字,输入将附加到后端的列表中。
现在的问题是,假设用户 A 将“100”附加到后端的列表中。现在,当用户 B 从不同的浏览器登录时,他/她将看到“100”已附加到列表中。如何以用户 B 登录时有一个空列表的方式制作我的网络应用程序?因此,我希望用户 A 和用户 B 所做的更改仅针对他们。任何有关如何进行此操作的提示/解释将不胜感激。
解决方案
您的应用程序需要一个数据库。有一个名为 SQLite3 的简单数据库,python 在标准库中有它。
您可以将用户凭据存储在session
烧瓶应用程序中,例如:
session['user'] = request.form['user']
也就是说,当用户提交包含带有属性的输入的表单时name=user
。您从提交的表单中收集数据,并将其存储在会话中。
在开始时,您可以检查用户是否使用以下内容登录:
if session.get('user') is not None:
...
您可以在此处阅读更多如何使用烧瓶创建 SQLite3 数据库。但是,如果您想了解更多信息,请了解什么是数据库、表,如何在其中创建表和数据,以及如何查询它们以获得正确的读写结果。
推荐阅读
- node.js - 在 cassandra 中更新具有大量数据(8000 万+行)的表中的列
- java - 创建项目酒店管理系统时出错
- r - 当 Wilcoxon 检验返回一些 0 p 值时该怎么办?
- laravel-7 - Laravel Dusk 能够打开浏览器但无法控制它
- sql-server - 我可以像在 Azure SQL Database for SQL Server 本地获得 SQL 性能建议吗?
- google-sheets - 创建公式以从数据中获取所需的结果
- reactjs - 为什么需要选择两个文件来填充字段?
- java - Tomcat 环境变量设置 (9.0.45)
- primeng - Primeng 多选下拉菜单
- filter - Pandoc Lua过滤器获取当前文档的文件名