python mssql session_python的web框架webpy【session & cookie】五 - 莫激动 - ITeye博客

webpty中使用session非常简单

import web

web.config.debug = False

urls = (

"/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'] = None

web.config.session_parameters['timeout'] = 86400, #24 * 60 * 60, # 24 hours in seconds

web.config.session_parameters['ignore_expiry'] = True

web.config.session_parameters['ignore_change_ip'] = True

web.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的domain

timeout - 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)

分享到:

18e900b8666ce6f233d25ec02f95ee59.png

72dd548719f0ace4d5f9bca64e1d7715.png

2012-09-09 10:46

浏览 4349

评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值