bottle是一個小型web框架,很小只有一個文件,但功能確很強(qiáng)大,學(xué)起來也簡單,簡單和小巧的同時也有很多不足,某些功能支持還不是很完善,比如session.但是也有它自身的好處,我們可以自己或使用別的模塊來擴(kuò)展它,不像django,很強(qiáng)大,但是想要進(jìn)一步擴(kuò)展的時候確無從下手.我們可以把非常簡單而強(qiáng)大的bottle自己動手將它變得更加強(qiáng)大和完善.
bottle小巧支持cookie但是不支持session.為了安全起見我們有時候希望使用的session.我們可以使用中間件beaker來擴(kuò)展bottle,使我們的bottle應(yīng)用支持session.廢話不多說.首先beaker不是內(nèi)置模塊,我們首先來安裝它.當(dāng)然你可以網(wǎng)上下包手動安裝,我們使用最簡單的:
easy_install beaker
沒有easy_install這個命令?google吧,裝了之后還是沒有,如過時win的話檢查環(huán)境變量,將Python安裝目錄下的Scripts目錄添加到環(huán)境變量.
安裝好后我們?nèi)绾问褂盟?下面一段帶面是使用的:
#!/usr/bin/env pythonfrom bottle import route, default_app, run, requestfrom beaker.middleware import SessionMiddlewaresession_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)行這段代碼,會提示:
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
不斷刷新就會發(fā)現(xiàn)數(shù)值不斷在增大.說明我們的session已經(jīng)正常工作了
新聞熱點(diǎn)
疑難解答
圖片精選