使用beaker让Facebook的Bottle框架支持session功能
作者:C Wong 发布时间:2023-07-01 02:35:35
标签:Python
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已经正常工作了


猜你喜欢
- 1、标识符由字符(A~Z和a~z)、下划线和数字组成,但第一个字符不能是数字。2、保留字符不能与标识符相同。3、不能包含空格、@、%和$等特
- 一、实验目的实现学生选课系统二、实验环境Python3.6pymysql(Python连接MySQL)xlrd(操作Excel)三、程序结构
- 至此,我们的 Python零基础入门篇 的系列专栏到今天基本上算是结束了。今天没有任何的知识点,只是运用我们之前学习过的知识做两个小游戏的案
- 如下所示:select a1,a2,a1+a2 a,a1*a2 b,a1*1.0/a2 c from bb_sb把a表的a1,a2列相加作为
- GMSSL模块介绍GmSSL是一个开源的加密包的python实现,支持SM2/SM3/SM4等国密(国家商用密码)算法、项目采用对商业应用友
- 如下所示:update-alternatives --config python一条简单的命令,如下图所示:来源:https://blog.
- 继Go 1.18支持泛型后,Go 将在下个版本中支持pdqsort排序算法再次引起了开发者们的热切讨论。目前,Go仓库的最新commit中提
- pycharm安装lxml库失败怎么办?众所周知,在pycharm中安装lxml库,一般的安装流程流程为file->settings-
- 高考在即,笔者想为孩子以后能够快乐学习数学、学习编程找到一个比较合适的项目,经过一番比较发现github上的万星项目manim(https:
- 前几篇文章介绍了用源码的方式来调试锁相关的信息,这里同样用这个工具来解决一个线上实际的死锁案例,也是我们介绍的第一个两条 SQL 就造成死锁
- window.opener,是通过window.open打开子窗体的父窗体的引用。 比如在父窗体parentForm里面,通过window.
- 一、了解Variable顾名思义,Variable就是 变量 的意思。实质上也就是可以变化的量,区别于int变量,它是一种可以变化的变量,这
- 查询速度慢的原因很多,常见如下几种:1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2、I/O吞吐量小,形成了瓶颈效
- 前言本人在学习go-micro中,用到Makefile,本人之前用过Makefile,但是不知道为什么这会就不能用了,我找了好多教程都没能解
- 首先让我们看下 YUI 是如何处理的:var toObject = function(a) { var o = {
- 最近做有关GPS轨迹上有关的东西,花费心思较多,对两个常用的函数总结一下,求距离和求方位角,比较精确,欢迎交流!1. 求两个经纬点的方位角,
- 本文实例为大家分享了JS实现飞机大战小游戏的具体代码,供大家参考,具体内容如下小的时候玩的飞机大战感觉还蛮神奇,今天自己就学着做了一个先制作
- 本文实例为大家分享了wxPython色环电阻计算器的具体代码,供大家参考,具体内容如下import wx # 导入wxPythonclass
- 基本原理使用Adodb.Stream读二进制文件然后进行解析,然后返回一数组第一个元素为类型(BMP JPG PNG GIF SWF)第二个
- 我们提倡无论何时都尽可能地使用CSS,这样我们更容易取得成功.现在浏览器对CSS的支持已经非常好,肯定足以让你用来控制你的网页布局与排版.但