Created
May 12, 2015 20:10
-
-
Save harrywang/430ecd6d359bdd6a2cd1 to your computer and use it in GitHub Desktop.
__init__.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from flask import Flask | |
from flask.ext.bootstrap import Bootstrap | |
from flask.ext.mail import Mail | |
from flask.ext.moment import Moment | |
from flask.ext.sqlalchemy import SQLAlchemy | |
from flask.ext.login import LoginManager | |
from flask.ext.pagedown import PageDown | |
from flask.ext.celery import Celery | |
from flask.ext.redis import Redis | |
from config import config | |
bootstrap = Bootstrap() | |
mail = Mail() | |
moment = Moment() | |
db = SQLAlchemy() | |
pagedown = PageDown() | |
celery = Celery() | |
redis = Redis() | |
redis_cache = Redis() | |
login_manager = LoginManager() | |
login_manager.session_protection = 'strong' | |
login_manager.login_view = 'auth.login' | |
def create_app(config_name): | |
app = Flask(__name__) | |
app.config.from_object(config[config_name]) | |
config[config_name].init_app(app) | |
bootstrap.init_app(app) | |
mail.init_app(app) | |
moment.init_app(app) | |
db.init_app(app) | |
login_manager.init_app(app) | |
pagedown.init_app(app) | |
celery.init_app(app) | |
redis.init_app(app) | |
redis_cache.init_app(app, config_prefix='REDIS_CACHE') | |
if not app.debug and not app.testing and not app.config['SSL_DISABLE']: | |
from flask.ext.sslify import SSLify | |
sslify = SSLify(app) | |
from .main import main as main_blueprint | |
app.register_blueprint(main_blueprint) | |
from .tasks import tasks as tasks_blueprint | |
app.register_blueprint(tasks_blueprint) | |
from .auth import auth as auth_blueprint | |
app.register_blueprint(auth_blueprint, url_prefix='/auth') | |
from .api_1_0 import api as api_1_0_blueprint | |
app.register_blueprint(api_1_0_blueprint, url_prefix='/api/v1.0') | |
return app |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment