Session web2py在会话中插入值

Session web2py在会话中插入值,session,web2py,Session,Web2py,我的会话有问题 用户从下拉菜单中选择smth后,我必须将该值插入会话。 我需要该值来访问模型中auth表的数据库,如果我从request.var读取,当我转到login/register表单时,它会崩溃。我在会话中的何处插入值以及如何查看、控制 现在我用cookies解决了这个问题,但它并不是最安全的 有什么建议吗= 谢谢会话是存储类的另一个实例。存储到会话中的内容,例如: session.myvariable = "hello" 可在以后检索: a = session.myvariable

我的会话有问题

用户从下拉菜单中选择smth后,我必须将该值插入会话。 我需要该值来访问模型中auth表的数据库,如果我从request.var读取,当我转到login/register表单时,它会崩溃。我在会话中的何处插入值以及如何查看、控制

现在我用cookies解决了这个问题,但它并不是最安全的

有什么建议吗=


谢谢

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

session.myvariable = "hello"
可在以后检索:

a = session.myvariable
换句话说,它已经存在了——只需给它分配变量即可。。 如果希望使用数据库,则必须在DB-through模型中定义一个会话表。 引用web2py手册:

例如,要在数据库中存储会话:

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

web2py创建一个表:

db.define_table('web2py_session',
             Field('locked', 'boolean', default=False),
             Field('client_ip'),
             Field('created_datetime', 'datetime', default=now),
             Field('modified_datetime', 'datetime'),
             Field('unique_key'),
             Field('session_data', 'text'))
并将cPickled会话存储在session_数据字段中

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

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


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

session.myvariable = "hello"
可在以后检索:

a = session.myvariable
换句话说,它已经存在了——只需给它分配变量即可。。 如果希望使用数据库,则必须在DB-through模型中定义一个会话表。 引用web2py手册:

例如,要在数据库中存储会话:

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

web2py创建一个表:

db.define_table('web2py_session',
             Field('locked', 'boolean', default=False),
             Field('client_ip'),
             Field('created_datetime', 'datetime', default=now),
             Field('modified_datetime', 'datetime'),
             Field('unique_key'),
             Field('session_data', 'text'))
并将cPickled会话存储在session_数据字段中

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

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