使用beaker让Facebook的Bottle框架支持session功能


Posted in Python onApril 23, 2015

bottle是一个小型web框架,很小只有一个文件,但功能确很强大,学起来也简单,简单和小巧的同时也有很多不足,某些功能支持还不是很完善,比如session.但是也有它自身的好处,我们可以自己或使用别的模块来扩展它,不像django,很强大,但是想要进一步扩展的时候确无从下手.我们可以把非常简单而强大的bottle自己动手将它变得更加强大和完善.

bottle小巧支持cookie但是不支持session.为了安全起见我们有时候希望使用的session.我们可以使用中间件beaker来扩展bottle,使我们的bottle应用支持session.废话不多说.首先beaker不是内置模块,我们首先来安装它.当然你可以网上下包手动安装,我们使用最简单的:

easy_install beaker

没有easy_install这个命令?google吧,装了之后还是没有,如过时win的话检查环境变量,将Python安装目录下的Scripts目录添加到环境变量.

安装好后我们如何使用它,下面一段带面是使用的:

#!/usr/bin/env python
from bottle import route, default_app, run, request
from beaker.middleware import SessionMiddleware

session_opts = {
        'session.type':'file',
        'session.cookei_expires':300,
        'session.data_dir':'./sessions',
        'sessioni.auto':True
        }

@route('/test')
def test():
  s = request.environ.get('beaker.session')
  s['test'] = s.get('test', 0) + 1
  s.save()
  return 'Test conter: %d' % s['test']

app = default_app()
app = SessionMiddleware(app, session_opts)
run(app=app)

运行这段代码,会提示:

Bottle server starting up (using WSGIRefServer())...
Listening on http://127.0.0.1:8080/
Hit Ctrl-C to quit.

现在打开浏览器访问http://127.0.0.1:8080/test

不断刷新就会发现数值不断在增大.说明我们的session已经正常工作了

Python 相关文章推荐
Python实现的一个自动售饮料程序代码分享
Aug 25 Python
详解python里使用正则表达式的分组命名方式
Oct 24 Python
使用Pyinstaller的最新踩坑实战记录
Nov 08 Python
Python操作Sql Server 2008数据库的方法详解
May 17 Python
pyqt5的QWebEngineView 使用模板的方法
Aug 18 Python
使用Django2快速开发Web项目的详细步骤
Jan 06 Python
python中metaclass原理与用法详解
Jun 25 Python
在Python中合并字典模块ChainMap的隐藏坑【推荐】
Jun 27 Python
Python 迭代,for...in遍历,迭代原理与应用示例
Oct 12 Python
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
Mar 06 Python
iPython pylab模式启动方式
Apr 24 Python
Python Pygame实战在打砖块游戏的实现
Mar 17 Python
用Python编写脚本使IE实现代理上网的教程
Apr 23 #Python
在Python的Bottle框架中使用微信API的示例
Apr 23 #Python
最基础的Python的socket编程入门教程
Apr 23 #Python
利用Python实现简单的相似图片搜索的教程
Apr 23 #Python
以911新闻为例演示Python实现数据可视化的教程
Apr 23 #Python
Python中优化NumPy包使用性能的教程
Apr 23 #Python
python通过自定义isnumber函数判断字符串是否为数字的方法
Apr 23 #Python
You might like
一个用php3编写的简单计数器
2006/10/09 PHP
比较strtr, str_replace和preg_replace三个函数的效率
2013/06/26 PHP
php析构函数的简单使用说明
2015/08/24 PHP
php使用curl并发减少后端访问时间的方法分析
2016/05/12 PHP
使用git迁移Laravel项目至新开发环境的步骤详解
2020/04/06 PHP
[原创]站长必须要知道的javascript广告代码
2007/05/30 Javascript
javascript 写类方式之六
2009/07/05 Javascript
jQuery 类twitter的文本字数限制带提示效果插件
2010/04/16 Javascript
js页面滚动时层智能浮动定位实现(jQuery/MooTools)
2011/08/23 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
jQuery实现鼠标划过修改样式的方法
2015/04/14 Javascript
jQuery实现彩带延伸效果的网页加载条loading动画
2015/10/29 Javascript
javascript拖拽应用实例
2016/03/25 Javascript
js实现自动轮换选项卡
2017/01/13 Javascript
bootstrap switch开关组件使用方法详解
2017/08/22 Javascript
详解设置Webstorm 利用babel将ES6自动转码成ES5
2017/12/20 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
微信小程序中转义字符的处理方法
2019/03/28 Javascript
JavaScript Window浏览器对象模型原理解析
2020/05/30 Javascript
python二分法实现实例
2013/11/21 Python
python实现批量转换文件编码(批转换编码示例)
2014/01/23 Python
python将ip地址转换成整数的方法
2015/03/17 Python
Python二叉搜索树与双向链表转换实现方法
2016/04/29 Python
Python合并字典键值并去除重复元素的实例
2016/12/18 Python
使用Python计算玩彩票赢钱概率
2019/06/26 Python
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
Sandro Paris美国官网:典雅别致的法国时尚服饰品牌
2017/12/26 全球购物
JavaScript实现前端网页版倒计时
2021/03/24 Javascript
网络工程与软件技术毕业生自荐信
2013/09/24 职场文书
写自荐信的七个技巧
2013/10/15 职场文书
注塑工厂厂长岗位职责
2013/12/02 职场文书
同学聚会欢迎辞
2014/01/14 职场文书
财务会计专业自荐书
2014/06/30 职场文书
计划生育汇报材料
2014/12/26 职场文书
2015年暑期社会实践总结
2015/07/13 职场文书
详解Python函数print用法
2021/06/18 Python