首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >web2py将值插入会话

web2py将值插入会话
EN

Stack Overflow用户
提问于 2012-09-21 16:49:48
回答 1查看 3.8K关注 0票数 1

我的会话有问题

用户从下拉菜单中选择smth后,我必须将该值插入到会话中。我需要这个值来访问模型中的身份验证表的数据库(如果我从request.var读取,当我转到登录/注册表单时,它就会崩溃)。我应该在会话中的什么位置插入值,以及如何插入值(视图、控制器)。

目前,我使用cookie解决了这个问题,但它并不是最安全的。

任何suggestions=

谢谢

EN

Stack Overflow用户

回答已采纳

发布于 2013-02-07 16:20:52

session是Storage类的另一个实例。存储到会话中的任何内容,例如:

代码语言:javascript
运行
复制
session.myvariable = "hello"

可以在以后的时间检索:

代码语言:javascript
运行
复制
a = session.myvariable

换句话说,它已经存在了--只需给它赋值变量即可。如果您希望使用数据库,则必须在DB直通模型中定义会话表。引用自web2py手册:

例如,

用于在数据库中存储会话:

session.connect(request,response,db,masterapp=None)

其中,db是打开的数据库连接的名称(由DAL返回)。它告诉web2py您希望将会话存储在数据库中,而不是存储在文件系统中。session.connect必须在db=DAL(...)之后,但在任何其他需要会话的逻辑之前,例如,设置Auth。

web2py创建一个表:

db.define_table('web2py_session',字段(‘locked’,'boolean',default=False),字段(‘client_ip’),字段(‘created_datetime’,'datetime',default=now),字段(‘modified_datetime’,'datetime'),字段(‘unique_key’),字段(‘session_data’,'text'))

并在session_data字段中存储cPickled会话。

默认情况下,选项masterapp=None告诉web2py尝试在运行的应用程序中检索request.application中名称为的应用程序的现有会话。

如果您希望两个或更多应用程序共享会话,请将masterapp设置为主应用程序的名称。

票数 5
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12527199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档