web.py之cookie和session

本文详细介绍了如何在web.py框架中设置和使用Session,包括Session的初始化、存储方式及超时设置。通过实例代码展示了如何在Main.py中配置Session,并在子程序中获取Session信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方给的session例子这里就不讲了。下面直接将怎么设置session,取session:

session相关代码一定要放在web.py框架的Main.py里面。

# Main.py
# 设置session

import web
import subsafe  # 子程序

urls = (
    "/safa", "Safe",   
    "/subsafe", subsafe.app
)

web.config.debug = False  # 注意调式模式使用
web.config.session_paremeters['timeoue'] = 60*10  # 10分子超时

app = web.application(urls, globals())

session = web.session.Session(   # 设置session
               app, 
               web.sessionDiskStore(sessions),  # sessionDiskStore将session存到内存
               initializer={  # initializer这个参数是个字典,字典内的参数根据自己需求随便设置
                               'login': False,
                               'user': "xiaoming"
                               }) 

def session_hook():
    web.cts.session = session

class Safe(object):
def GET(self):
print web.ctx.session.session_id
return "主程序ok"
if __name__ == "__main__": app.add_processor(web.loodhook(session_hook)) #添加钩子,在每一个接口之前都执行 # app.processors.append(Convert.hook) app.run()
# subsafe.py  子程序
import web

urls = (
    "subapp", "subApp"
)

app = app.application(urls, globals())

class subApp(object):
    def GET(self):
        print web.ctx.session.session_id  # session可以理解为服务器给浏览器的cookie,通过session_id可以找到服务器给浏览器设置的session
print web.ctx.session.name # 取自己设置的session
print web.cookies.get("webpy_session_id") # 取session_id,可以理解为cookie return "子程序ok"

注:session_id是服务器随机分配给浏览器的,是唯一的,是有有效期的,同一个浏览器请求服务器,在连贯访问服务器时session_id不会变,不连贯访问一般session_id会变(短时间内不连贯访问,session_id可能不变)。

结束!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值