使用beaker讓Facebook的Bottle框架支持session功能
bottle是一個(gè)小型web框架,很小只有一個(gè)文件,但功能確很強(qiáng)大,學(xué)起來(lái)也簡(jiǎn)單,簡(jiǎn)單和小巧的同時(shí)也有很多不足,某些功能支持還不是很完善,比如session.但是也有它自身的好處,我們可以自己或使用別的模塊來(lái)擴(kuò)展它,不像django,很強(qiáng)大,但是想要進(jìn)一步擴(kuò)展的時(shí)候確無(wú)從下手.我們可以把非常簡(jiǎn)單而強(qiáng)大的bottle自己動(dòng)手將它變得更加強(qiáng)大和完善.
bottle小巧支持cookie但是不支持session.為了安全起見(jiàn)我們有時(shí)候希望使用的session.我們可以使用中間件beaker來(lái)擴(kuò)展bottle,使我們的bottle應(yīng)用支持session.廢話不多說(shuō).首先beaker不是內(nèi)置模塊,我們首先來(lái)安裝它.當(dāng)然你可以網(wǎng)上下包手動(dòng)安裝,我們使用最簡(jiǎn)單的:
easy_install beaker
沒(méi)有easy_install這個(gè)命令?google吧,裝了之后還是沒(méi)有,如過(guò)時(shí)win的話檢查環(huán)境變量,將Python安裝目錄下的Scripts目錄添加到環(huán)境變量.
安裝好后我們?nèi)绾问褂盟?下面一段帶面是使用的:
#!/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)
運(yùn)行這段代碼,會(huì)提示:
Bottle server starting up (using WSGIRefServer())... Listening on http://127.0.0.1:8080/ Hit Ctrl-C to quit.
現(xiàn)在打開(kāi)瀏覽器訪問(wèn)http://127.0.0.1:8080/test
不斷刷新就會(huì)發(fā)現(xiàn)數(shù)值不斷在增大.說(shuō)明我們的session已經(jīng)正常工作了
相關(guān)文章
Python實(shí)現(xiàn)對(duì)數(shù)坐標(biāo)系繪制與自定義映射
這篇文章主要為大家學(xué)習(xí)介紹了如何利用Python實(shí)現(xiàn)對(duì)數(shù)坐標(biāo)系繪制與坐標(biāo)自定義映射,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2023-08-08
python數(shù)據(jù)類(lèi)型判斷type與isinstance的區(qū)別實(shí)例解析
這篇文章主要介紹了python數(shù)據(jù)類(lèi)型判斷type與isinstance的區(qū)別實(shí)例解析,具有一定參考價(jià)值,需要的朋友可以了解下。2017-10-10
pytest生成Allure報(bào)告以及查看報(bào)告的實(shí)現(xiàn)
本文主要介紹了pytest生成Allure報(bào)告以及查看報(bào)告的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02
如何基于python實(shí)現(xiàn)單目三維重建詳解
單目三維重建是根據(jù)單個(gè)攝像頭的運(yùn)動(dòng)模擬雙目視覺(jué)獲得物體在空間中的三維視覺(jué)信息,下面這篇文章主要給大家介紹了關(guān)于如何基于python實(shí)現(xiàn)單目三維重建的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-06-06
基于python實(shí)現(xiàn)名片管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了基于python實(shí)現(xiàn)名片管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
Tensorflow的可視化工具Tensorboard的初步使用詳解
這篇文章主要介紹了Tensorflow的可視化工具Tensorboard的初步使用詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02
numpy求解線性代數(shù)相關(guān)問(wèn)題
本文主要介紹了numpy求解線性代數(shù)相關(guān)問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2025-01-01
Python range函數(shù)之生成器函數(shù)的示例
這篇文章主要介紹了Python range函數(shù)之生成器函數(shù)的示例,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-12-12

