Life is Really Short, Have Your Life!!

ござ先輩の主に技術的なメモ

Flask+Beakerで保存先をmysqlにする

python - Storing session data in database in Pyramid using beaker - Stack Overflowを参考に。

あまりにあっさりしているので逆に不安だ... いや、こんなもんのはずだ。

app.run()を実行する手前で、WSGIアプリケーションのインスタンスと設定情報を、Beakerに渡すだけ。これで動いた。勝手にbeaker_cacheというテーブルが追加され、セッション情報がセットされた。Cookieじゃなくてスマホ用に作ったtokenの場合、セッションがキープされるのかどうか。ちょっと不安。

mysql+mysqlconnectorになってるのは、僕がPython3.3.4でmysqlconnectorをドライバにしているからです。

if __name__ == '__main__':
    session_opts = {
        'session.type': 'ext:database',
        'session.cookie_expires': True,
        'session.url': 'mysql+mysqlconnector://<username>:<password>@<host>/<database-name>',
        'session.lock_dir': './lock'
    }
    app.wsgi_app = SessionMiddleware(app.wsgi_app, session_opts)
    app.run(debug=True)