def create_app(config=None): if config is None: config = DevelopmentConfig() app = Flask(__name__) app.config.from_object(config) app.config.from_envvar('{{cookiecutter.app_name|upper}}_CONFIG', silent=True) assets.init_app(app) assets.from_yaml(app.config['ASSETS']) db.init_app(app) migrate.init_app(app, db) login_manager.init_app(app) babel.init_app(app) mail.init_app(app) @app.route('/') def home(): return render_template('home.html') for name, url_prefix in app.config.get('MODULES', []): blueprint = getattr(getattr(modules, name), name) app.register_blueprint(blueprint, url_prefix=url_prefix) return app
def create_app(config=None): app = Flask(__name__) # 加载配置 app.config.from_object('config.settings') app.config.from_object('config.secure') # 加载环境配置 if 'FLASK_CONF' in os.environ: app.config.from_envvar('FLASK_CONF') # 加载具体的配置 if config is not None: if isinstance(config, dict): app.config.update(config) elif config.endswith('.py'): app.config.from_pyfile(config) # 将序列、数据库、路由挂载到app import serializer, models, router, mail serializer.init_app(app) models.init_app(app) router.init_app(app) mail.init_app(app) return app
def register_extensions(app): assets.init_app(app) bcrypt.init_app(app) cache.init_app(app) db.init_app(app) login_manager.init_app(app) debug_toolbar.init_app(app) migrate.init_app(app, db) mail.init_app(app) return None
def register_extensions(app): """Register Flask extensions.""" bcrypt.init_app(app) cache.init_app(app) db.init_app(app) csrf_protect.init_app(app) login_manager.init_app(app) debug_toolbar.init_app(app) migrate.init_app(app, db) moment.init_app(app) mail.init_app(app) webpack.init_app(app) return None
def register_extensions(app): """ Register Flask extensions. """ bcrypt.init_app(app) cache.init_app(app) csrf_protect.init_app(app) login_manager.init_app(app) debug_toolbar.init_app(app) migrate.init_app(app, db) # webpack.init_app(app) jwt.init_app(app) # If db is SQLAlchemy instance, # Flask-SQLAlchemy must be initialized before Flask-Marshmallow db.init_app(app) ma.init_app(app) mail.init_app(app) rest_api.init_app(app) celery.init_app(app)
def create_app(test_config=None): app = Flask(__name__) app.json_encoder = CustomJSONEncoder app.config.from_file('config/default.json', json.load) if test_config is None: # load prod settings if not testing and if they exist try: app.config.from_file('config/prod.json', json.load) except FileNotFoundError: pass else: app.config.update(test_config) # Setup monitoring if enabled if (app.config.get("SENTRY_ENABLED")): sentry_sdk.init( dsn="https://[email protected]/6180332", integrations=[FlaskIntegration()], # Set percent of things that are traced traces_sample_rate=0 ) db.init_app(app) mail.init_app(app) tokens.init_app(app) from apis.sprints import sprint_api from apis.runs import run_api from apis.users import user_api from apis.profiles import profile_api from apis.scraper import scraper_api from apis.ratings import ratings_api from apis.stats import stats_api from apis.marathon import marathon_api from apis.lobbys import lobby_api from apis.generator import generator_api, load_page_rank from views import views app.register_blueprint(sprint_api) app.register_blueprint(run_api) app.register_blueprint(user_api) app.register_blueprint(profile_api) app.register_blueprint(scraper_api) app.register_blueprint(ratings_api) app.register_blueprint(stats_api) app.register_blueprint(marathon_api) app.register_blueprint(lobby_api) app.register_blueprint(generator_api) app.register_blueprint(views) # Hacky way to load in try: load_page_rank(app) except Exception as e: print(e) return app