`
莫激动
  • 浏览: 44603 次
社区版块
存档分类
最新评论

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

阅读更多

 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)  
 

 

分享到:
评论

相关推荐

    Python Web框架之Django框架cookie和session用法分析

    Django是一个高级的Python Web框架,它鼓励快速开发和干净、实用的设计。Web开发中的一个关键概念是如何管理用户的会话,以及如何在用户的浏览器和服务器之间存储状态信息。在Web开发中,常用的两种方法是使用cookie...

    flask-session-cookie-manager

    标题“flask-session-cookie-manager”指的是一个Python应用,它专门针对Flask框架,用于管理和操作session cookie。在Web开发中,session cookie是服务器用来跟踪用户状态的一种方式,特别是在无状态的HTTP协议上...

    flask、session、cookie解加密脚本

    `Flask`是一个轻量级的Python Web框架,它提供了构建Web应用的基础结构。在处理用户登录和会话管理时,`session`和`cookie`是两个核心概念。本文将深入探讨`Flask`中的`session`和`cookie`,以及如何对它们进行解密...

    Python-Secure是一个轻量级包为PythonWeb框架添加了可选的安全头和cookie属性

    Python-Secure库通常集成到Python的Web框架如Flask、Django或FastAPI中。开发者可以通过调用库提供的函数或装饰器,轻松地为响应添加安全头,并设置安全的Cookie属性。例如,在Flask中,可以使用`@app.after_request...

    python Django web 实训项目的实验报告

    本实验报告主要围绕基于Python的Django Web框架构建的联通用户管理系统展开,旨在深入理解和应用Django的核心特性。Django是一个高效且强大的Web开发框架,它以其高度集成化、MVT(Model-View-Template)设计模式...

    PyPI 官网下载 | flask-session-cookie-manager-1.2.1.tar.gz

    标题中的“PyPI 官网下载 | flask-session-cookie-manager-1.2.1.tar.gz”表明这是一个在Python Package Index(PyPI)上发布的开源软件包,名为“flask-session-cookie-manager”,版本为1.2.1,其源代码以tar.gz...

    django框架之cookie/session的使用示例(小结)

    在Web开发中,Django框架提供了方便的cookie和session管理机制,用于解决HTTP协议无状态的问题。HTTP协议本身不支持会话跟踪,因此需要借助额外的技术,如cookie和session,来实现用户状态的维护。 一、HTTP协议无...

    Python Web框架Flask下网站开发入门实例

    在本文中,我们将深入探讨使用Python Web框架Flask进行网站开发的基本概念和实践步骤,特别关注如何创建注册、登录和上传页面。Flask是一个轻量级的Web框架,它以其简洁和模块化的设计赢得了开发者们的喜爱。 一、...

    Python Web 接口开发文档

    ### Python Web 接口开发与测试知识点概览 #### Python 学习必备基础知识 - **Python2与Python3的选择** - Python3是未来发展的主要方向,建议学习者优先选择Python3进行学习。 - Python2已于2020年停止支持,...

    用Python实现web端用户登录和注册功能的教程

    用户管理是绝大部分Web网站都需要解决的问题。用户管理涉及到用户注册和登录。 用户注册相对简单,我们可以先通过API把用户注册这个功能实现了: _RE_MD5 = re.compile(r'^[0-9a-f]{32}$') @api @post('/api/users'...

    毕设&课程作业_基于flask的python web管理系统,基本功能模拟网上银行web管理系统.zip

    5. 用户身份验证和授权机制,如session和cookie的使用。 6. 模拟网上银行系统的核心功能实现,如用户注册、登录、转账、余额查询等。 7. 错误处理和异常处理,确保程序健壮性。 8. 使用Git进行版本控制和协作。 9. ...

    web.py中文教程

    web.py是一个轻量级的Python框架,它帮助开发者用Python构建web应用。它提供了基本的web应用功能,如处理请求、定义URL模式、生成HTML输出等。本教程针对web.py的0.3版本编写,因此在实际应用中需要确保代码与新版本...

    Python web接口开发与测试

    ### Python Web 接口开发与测试关键知识点解析 #### 一、Python 学习必备基础知识 **1.1 Python 2.x 与 Python 3.x 的选择** - **背景介绍**:随着Python 3.x 版本的逐渐成熟和完善,官方已不再维护Python 2.x。...

    Python-使用Django来介绍CSRFandCookiesSession

    在Python的Web开发领域,Django是一个非常流行的高级框架,它提供了一系列强大的工具来帮助开发者构建安全、高效的应用。在这个教程中,我们将深入探讨Django中的两个关键概念:CSRF(跨站请求伪造)和Cookie及...

    Python库 | beaker-py-0.2.6.tar.gz

    `beaker-py-0.2.6.tar.gz`是一个包含Beaker 0.2.6版本的Python库,它提供高效的缓存和会话管理解决方案,适合各种Python Web应用。通过理解和使用Beaker,开发者可以提升应用性能,改善用户体验,并轻松应对高并发和...

    Python学习Python课件10.pptx

    Python程序设计(10)是本课件的...综上所述,本课件覆盖了Python编程基础、MySQL数据库操作、Web框架的应用、会话管理、前端框架Bootstrap的使用以及数据可视化的Echarts库,为全面掌握Web开发技能提供了坚实的基础。

    django,mysql,全栈 搭建的web.seesion,cookie权限

    在本文中,我们将深入探讨如何使用Django框架与MySQL数据库构建一个全栈Web应用程序,重点关注session和cookie在权限管理中的应用。首先,我们来看一下Django框架,它是一个基于Python的高级Web开发框架,提供了MVC...

    剖析Python的Tornado框架中session支持的实现代码

    然而,与许多其他Web框架如Django不同,Tornado本身并没有内置的session支持。为了在Tornado中实现session功能,开发者通常需要借助第三方库来实现。本文将深入剖析一个使用memcached实现Tornado session的项目——...

    基于python的web服务统一身份认证协议源码数据库.zip

    至于“Python Django”,Django是Python的一个高级Web框架,它提供了许多内置功能和工具,如ORM(对象关系映射)、模板引擎、自动管理后台、认证和授权系统等。在构建身份认证协议时,Django的内置认证系统可以大大...

Global site tag (gtag.js) - Google Analytics