使用beaker讓Facebook的Bottle框架支持session功能
bottle是一個(gè)小型web框架,很小只有一個(gè)文件,但功能確很強(qiáng)大,學(xué)起來也簡(jiǎn)單,簡(jiǎn)單和小巧的同時(shí)也有很多不足,某些功能支持還不是很完善,比如session.但是也有它自身的好處,我們可以自己或使用別的模塊來擴(kuò)展它,不像django,很強(qiáng)大,但是想要進(jìn)一步擴(kuò)展的時(shí)候確無從下手.我們可以把非常簡(jiǎn)單而強(qiáng)大的bottle自己動(dòng)手將它變得更加強(qiáng)大和完善.
bottle小巧支持cookie但是不支持session.為了安全起見我們有時(shí)候希望使用的session.我們可以使用中間件beaker來擴(kuò)展bottle,使我們的bottle應(yīng)用支持session.廢話不多說.首先beaker不是內(nèi)置模塊,我們首先來安裝它.當(dāng)然你可以網(wǎng)上下包手動(dòng)安裝,我們使用最簡(jiǎn)單的:
easy_install beaker
沒有easy_install這個(gè)命令?google吧,裝了之后還是沒有,如過時(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)在打開瀏覽器訪問http://127.0.0.1:8080/test
不斷刷新就會(huì)發(fā)現(xiàn)數(shù)值不斷在增大.說明我們的session已經(jīng)正常工作了
相關(guān)文章
Python使用到第三方庫(kù)PyMuPDF圖片與pdf相互轉(zhuǎn)換
今天為大家介紹個(gè)比較簡(jiǎn)單的Python第三方庫(kù)PyMuPDF進(jìn)行圖片和pdf之間的相互轉(zhuǎn)換,以下就是利用PyMuPDF進(jìn)行pdf與圖片之間的互轉(zhuǎn)2019-05-05Python中利用pyqt5制作指針鐘表顯示實(shí)時(shí)時(shí)間(指針時(shí)鐘)
這篇文章主要介紹了Python中利用pyqt5制作指針鐘表顯示實(shí)時(shí)時(shí)間(動(dòng)態(tài)指針時(shí)鐘),本文通過示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02pandas初學(xué)者容易犯的六個(gè)錯(cuò)誤總結(jié)
Pandas是Python的一個(gè)數(shù)據(jù)分析包,該工具為解決數(shù)據(jù)分析任務(wù)而創(chuàng)建,Pandas納入大量庫(kù)和標(biāo)準(zhǔn)數(shù)據(jù)模型,提供高效的操作數(shù)據(jù)集所需的工具,這篇文章主要給大家介紹了總結(jié)介紹了pandas初學(xué)者容易犯的六個(gè)錯(cuò)誤,需要的朋友可以參考下2021-10-10pyinstaller將python程序打包為可執(zhí)行文件
這篇文章主要介紹了pyinstaller將python程序打包為可執(zhí)行文件,pyinstaller是一個(gè)python打包工具,它將python程序及所需依賴都打包成一個(gè)可執(zhí)行文件2022-08-08python matlab庫(kù)簡(jiǎn)單用法講解
在本篇文章里小編給大家整理了一篇關(guān)于python matlab庫(kù)簡(jiǎn)單用法講解內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2020-12-12