首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

python的web框架webpy【session & cookie】5

2012-12-24 
python的web框架webpy【session & cookie】五?webpty中使用session非常简单??import webweb.config.debug

python的web框架webpy【session & cookie】五

?webpty中使用session非常简单

?

?

import webweb.config.debug = Falseurls = (    "/count", "count",    "/reset", "reset")app = web.application(urls, locals())session = web.session.Session(app, web.session.DiskStore('sessions'), initializer={'count': 0})class count:    def GET(self):        session.count += 1        return str(session.count)class reset:    def GET(self):        session.kill()        return ""if __name__ == "__main__":    app.run()

?

?

initializer?指定session的初始化值

?

?

web.session.DiskStore('sessions') #设置session的存储方式为磁盘

?

?

我们也可以指定session存储在数据库中

?

?

db = web.database(dbn='postgres', db='mydatabase', user='myname', pw='')store = web.session.DBStore(db, 'sessions')session = web.session.Session(app, store, initializer={'count': 0})

?

?

表结构

?

?

 create table sessions (    session_id char(128) UNIQUE NOT NULL,    atime timestamp NOT NULL default current_timestamp,    data text);
?

?

我们可以通过web.config对session进行一些可选设置

?

?

web.config.session_parameters['cookie_name'] = 'webpy_session_id'web.config.session_parameters['cookie_domain'] = Noneweb.config.session_parameters['timeout'] = 86400, #24 * 60 * 60, # 24 hours   in secondsweb.config.session_parameters['ignore_expiry'] = Trueweb.config.session_parameters['ignore_change_ip'] = Trueweb.config.session_parameters['secret_key'] = 'fLjUfxqXtfNoIldA0A0J'web.config.session_parameters['expired_message'] = 'Session expired'

?

?

webpy中使用cookie

?

setcookie(name, value, expires="", domain=None, secure=False): cookie_name - session id 存储在cookie中的名称cookie_domain - cookie的domaintimeout - session 过期时间,单位为秒ignore_expiry -如果设置为True则忽略过期时间ignore_change_ip - 如果为False则来自同一ip则session才有效secret_key - session id的hash值expired_message - session 失效后显示的信息
??

设置cookie

?

?

 web.setcookie('age', i.age, 3600)

?

读取cookie

?

?

web.cookies().get(cookieName)  
?

?

热点排行