我遇到了會話問題web2py插入會話的值
用戶從下拉菜單中選擇smth後,我必須將該值插入會話。 我需要該值才能訪問模型中驗證表的數據庫(如果我從request.var中讀取,它會在登錄/註冊表單時崩潰)。我在哪裏插入價值會議和如何(查看,控制器)。
現在我用cookies解決了它,但它不是最安全的。
任何建議=
謝謝
我遇到了會話問題web2py插入會話的值
用戶從下拉菜單中選擇smth後,我必須將該值插入會話。 我需要該值才能訪問模型中驗證表的數據庫(如果我從request.var中讀取,它會在登錄/註冊表單時崩潰)。我在哪裏插入價值會議和如何(查看,控制器)。
現在我用cookies解決了它,但它不是最安全的。
任何建議=
謝謝
會話存儲類的另一個實例。無論存儲到會話,例如:
session.myvariable = "hello"
可以在以後的時間進行檢索:
a = session.myvariable
換句話說,它已經存在 - 只是將變量分配給它.. 如果你想使用你必須通過模型在數據庫中定義會話表的數據庫。從手動的web2py 引用:
例如在數據庫中存儲會話:
session.connect(request, response, db, masterapp=None)
其中db是一個開放數據庫連接的名稱(由DAL返回)。它告訴web2py你想將會話存儲在數據庫中而不是文件系統中。 session.connect必須在db = DAL(...)之後,但在需要會話的任何其他邏輯之前,例如,設置Auth。
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'))
並存儲在session_data是場cPickled會議。
默認情況下,選項masterapp = None會告訴web2py嘗試檢索正在運行的應用程序中名爲request.application的應用程序的現有會話。
如果您希望兩個或更多應用程序共享會話,請將masterapp設置爲主應用程序的名稱。