flask-mongo-sessions

Server-side sessions for Flask with MongoDB


Keywords
flask, mongodb, pymongo, flask-pymongo, mongoengine, flask-mongoengine
License
MIT
Install
pip install flask-mongo-sessions==0.2.1

Documentation

flask-mongo-sessions

.. module:: flask-mongo-sessions

flask-mongo-sessions helps you to add server-side sessions to Flask with MongoDB storage.

⚠️ This project is not being actively developed by the original author any more. PRs are welcome, though.

⚠️ Please note that Python 3 is not supported now (issue).

Requirements

The extensions requires Flask>=0.8 and also PyMongo (Flask-PyMongo) or MongoEngine (Flask-MongoEngine)

Tested with Python 2.5, 2.6 and 2.7.

Installation

Installation of the extension is easy:

$ pip install flask-mongo-sessions

or:

$ easy_install install flask-mongo-sessions

or:

$ python setup.py install

Usage

To work, the extension needs PyMongo's Database object and sessions collection name. The object can be taken from PyMongo:

from flask import Flask
from flask.ext.pymongo import PyMongo
from flask.ext.mongo_sessions import MongoDBSessionInterface

app = Flask(__name__)
app.config['MONGO_DBNAME'] = 'database-name'
mongo = PyMongo(app)
with app.app_context():
    app.session_interface = MongoDBSessionInterface(app, mongo.db, 'sessions')

or from MongoEngine:

from flask import Flask
from flask.ext.mongoengine import MongoEngine
from flask.ext.mongo_sessions import MongoDBSessionInterface

app = Flask(__name__)
app.config['MONGODB_DB'] = 'database-name'
db = mongo.connection[app.config['MONGODB_DB']]
app.session_interface = MongoDBSessionInterface(app, db, 'sessions')

All connection parameters (address, port, etc.) must be set for the respective extension.

Users sessions will be stored in the specified MongoDB database in the collection with specified name.

Authors and contributors

Originally developed by Ivan Yurchenko.

License

MIT license (see LICENSE file)

Also

Please, send me a feedback about the app (bugs, examples of usage etc.)