def create_app(config_name): app = Flask(__name__, instance_relative_config=1) app.config.from_object(config_name) app.config.from_pyfile("config.py") from model import db db.init_app(app) from utilities import cache cache.init_app(app) from admin import admin admin.init_app(app) from security import security security.init_app(app) from main import main as main_blueprint app.register_blueprint(main_blueprint) return app
def init_app(application): from resources import api from assets import assets from applications.security.auth import login_manager from security import security application.config['SQLALCHEMY_DATABASE_URI'] = DATABASE_URI application.config['SECURITY_TOKEN_AUTHENTICATION_HEADER'] = ( "AUTHORIZATION") application.config['SECURITY_REMEMBER_SALT'] = "SALT123123123" application.config['SQLALCHEMY_ECHO'] = True application.config['SECRET_KEY'] = SECRET_KEY application.permanent_session_lifetime = timedelta(minutes=30) Triangle(application) assets.init_app(application) api.init_app(application) api.application = application db.init_app(application) login_manager.init_app(application) security.init_app(application) application.db = db application.api = api if IS_PROD: init_logging(application) return application
def initialize_extensions(app): sqldb.init_app(app) login_manager.init_app(app) mail_api.init_app(app) bcrypt.init_app(app) debug_toolbar.init_app(app) jsglue.init_app(app) configure_uploads(app, file) csrf.init_app(app) configure_admin(app) security.init_app(app, user_datastore) # scheduler.init_app(app) # scheduler.start() # app.extensions['scheduler'] = scheduler return app
import admin from config import Config from model import db from security import security, data_store, LoginUserForm, RegisterUserForm app = Flask(__name__) app.config.from_object(Config) db.init_app(app) mig = Migrate(app=app, db=db, directory=app.config.get('MIGRATE_DIRECTORY', 'data/migrations')) Bootstrap(app) security.init_app(app, data_store, login_form=LoginUserForm, register_form=RegisterUserForm) admin.admin.init_app(app) domain = Domain(app.config.get("BABEL_TRANSLATIONS")[0], "messages") babel = Babel(app, default_domain=domain) babel.domain = "messages" babel.translation_directories = app.config.get("BABEL_TRANSLATIONS") @babel.localeselector def get_locale(): if current_user.is_authenticated: return current_user.language or 'hu' return request.accept_languages.best_match(app.config.get('LANGUAGES'))
migrate = Migrate(app, db) ckeditor = CKEditor(app) @app.template_filter() def format_money(value): """Format a value as currency""" return "NGN{:,.2f}".format(value) if __name__ == '__main__': # Build a sample db on the fly, if one does not exist yet. app_dir = os.path.realpath(os.path.dirname(__file__)) # Start app from admin import admin from security import security, user_datastore admin.init_app(app) app.register_blueprint(frontend) security._state = security.init_app(app, datastore=user_datastore) @security.context_processor def security_context_processor(): return dict(admin_base_template=admin.base_template, admin_view=admin.index_view, h=admin_helpers, get_url=url_for) app.run(host='0.0.0.0', debug=True)
import config from flask import Flask from flask.ext.sqlalchemy import SQLAlchemy from flask.ext.mail import Mail from models import db from security import security from admin import admin app = Flask(__name__, static_url_path='') app.config.from_object(config) mail = Mail(app) db.init_app(app) security.init_app(app) app.register_blueprint(admin, url_prefix='/admin', static_url_path='') db.app = app db.create_all() from app import views from app import security from app import filters from app import api