使用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标准库之多进程(multiprocessing包)介绍
Nov 25 Python
简单讲解Python中的字符串与字符串的输入输出
Mar 13 Python
Python安装使用命令行交互模块pexpect的基础教程
May 12 Python
python中正则的使用指南
Dec 04 Python
Python离线安装PIL 模块的方法
Jan 08 Python
python2.7实现复制大量文件及文件夹资料
Aug 31 Python
wxPython+Matplotlib绘制折线图表
Nov 19 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
Mar 25 Python
Python matplotlib读取excel数据并用for循环画多个子图subplot操作
Jul 14 Python
python 实现aes256加密
Nov 27 Python
Python使用Opencv实现边缘检测以及轮廓检测的实现
Dec 31 Python
Django框架之路由用法
Jun 10 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
phpmail类发送邮件函数代码
2012/02/20 PHP
PHP调用Linux命令权限不足问题解决方法
2015/02/07 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
Yii框架常见缓存应用实例小结
2019/09/09 PHP
javascript一些不错的函数脚本代码
2008/09/10 Javascript
javascript hashtable实现代码
2009/10/13 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
jQuery调用WebService的实现代码
2011/06/19 Javascript
Node.js实现JS文件合并小工具
2016/02/02 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
2016/06/21 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
Vue组件之单向数据流的解决方法
2018/11/10 Javascript
JS删除String里某个字符的方法
2021/01/06 Javascript
基于vue-cli3创建libs库的实现方法
2019/12/04 Javascript
js实现整体缩放页面适配移动端
2020/03/31 Javascript
Quasar Input:type="number" 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
uni-app从安装到卸载的入门教程
2020/05/15 Javascript
ssh批量登录并执行命令的python实现代码
2012/05/25 Python
跟老齐学Python之永远强大的函数
2014/09/14 Python
linux 下实现python多版本安装实践
2014/11/18 Python
CentOS 7下安装Python 3.5并与Python2.7兼容并存详解
2017/07/07 Python
Python标准库笔记struct模块的使用
2018/02/22 Python
使用python实现快速搭建简易的FTP服务器
2018/09/12 Python
Python实现App自动签到领取积分功能
2018/09/29 Python
python贪吃蛇游戏代码
2020/04/18 Python
Python如何读取文件中图片格式
2020/01/13 Python
PyQt5 文本输入框自动补全QLineEdit的实现示例
2020/05/13 Python
利用python汇总统计多张Excel
2020/09/22 Python
PyQt实现计数器的方法示例
2021/01/18 Python
西班牙在线宠物商店:zooplus.es
2017/02/24 全球购物
餐饮业员工工作决心书
2014/03/11 职场文书
房地产广告词大全
2014/03/19 职场文书
优秀班主任先进事迹材料
2014/12/16 职场文书
2014年学生党支部工作总结
2014/12/20 职场文书
交通事故赔偿起诉书
2015/05/20 职场文书
python 实现体质指数BMI计算
2021/05/26 Python