beakerを使用してFacebookのBottleフレームワークにセッション機能をサポート

1760 ワード

bottleは小型のwebフレームワークで、小さくてファイルが1つしかありませんが、機能は確かに強く、勉強も簡単で、簡単でコンパクトであると同時に多くの不足があり、一部の機能サポートはまだ完備していません.例えばsessionです.しかし、それ自体のメリットもあり、私たちは自分で他のモジュールを使って拡張することができます.djangoのように強くありませんが、さらに拡張したいときは手がつけられません.私たちは非常に簡単で強力なbottleを自分で手に入れることができて、それをもっと強くて完璧にすることができます.
bottleはクッキーをコンパクトにサポートしていますがsessionはサポートしていません.安全のために時々使用したいセッションです.ミドルウェアbeakerを使用してbottleを拡張し、bottleアプリケーションがsessionをサポートすることができます.くだらないことはあまり言わない.まずbeakerは内蔵モジュールではありません.まずインストールします.もちろん、ネット上で手動でインストールすることができます.私たちは最も簡単なものを使用しています.

easy_install beaker


easyがありませんこのコマンドは?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
更新を続けると数値が増大する.セッションが正常に動作していることを示します