def register_extensions(app): """第三方插件集装箱""" cache.init_app(app) # mongo.init_app(app) #将mongodb注册到app中 celery.init_app(app) cors.init_app(app, supports_credentials=True) # 配置全局跨域路由 mail.init_app(app)
def register_extensions(app): """ Init extension :param app: :return: """ client.app = app client.init_app(app) celery.init_app(app) jwt.init_app(app) if os.environ.get('FLASK_DEBUG') == '0': # logger logger = logging.getLogger('api') logger.setLevel(logging.ERROR) logger.addHandler(app_log_handler) @app.after_request def after_request(response): # This IF avoids the duplication of registry in the log, # since that 500 is already logged via @app.errorhandler. if response.status_code != 500: ts = strftime('[%Y-%b-%d %H:%M]') logger.error('%s %s %s %s %s %s', ts, request.remote_addr, request.method, request.scheme, request.full_path, response.status) return response @app.errorhandler(Exception) def exceptions(e): ts = strftime('[%Y-%b-%d %H:%M]') tb = traceback.format_exc() logger.error('%s %s %s %s %s 5xx INTERNAL SERVER ERROR\n%s', ts, request.remote_addr, request.method, request.scheme, request.full_path, tb) return "Internal Server Error", 500
def _init_extensions(app): celery.init_app(app) class ContextQueueOnce(QueueOnce): def __call__(self, *args, **kwargs): with app.app_context(): return super(ContextQueueOnce, self).__call__(*args, **kwargs) celery.QueueOnce = ContextQueueOnce db.init_app(app) jwt.init_app(app)
def create_app(object_name): app = Flask(__name__) app.config.from_object("app.configs.%s.Config" % object_name) app.logger.setLevel(logging.INFO) db.init_app(app) migrate.init_app(app, db) imgs.init_app(app) register_commands(app) register_shell_context(app) celery.init_app(app) redis.init_app(app) return app
def create_app(config_name='dev'): app = Flask(__name__) # sifn = show if none app.jinja_env.filters['sifn'] = lambda it: u'无' if not it else it app.jinja_env.filters['with_site'] = lambda title: title + ' - pkyx' # 导入配置 app.config.from_object(config[config_name]) config[config_name].init_app(app) # 初始化flask_admin # admin.init_app(app) # admin.add_view(FileView(os.path.join(os.path.dirname(__file__), 'static'), '/static/')) # 初始化MongoDB mongo.init_app(app) with app.app_context(): mongo.db['items'].create_index('title', background=True) # 初始化Celery celery.init_app(app) # 初始化Flask-mail mail.init_app(app) # 初始化Flask-Login login_manager.init_app(app) login_manager.login_view = 'main.index' login_manager.login_message = u'请先登录或注册' @login_manager.user_loader def load_user(user_id): user = None db_user = mongo.db.users.find_one({"_id": bson_obj_id(user_id)}) if db_user is not None: user_id = db_user.pop('_id') user = User(user_id, extras=db_user) return user from app.main import main as main_blueprint app.register_blueprint(main_blueprint) from app.users import users as users_blueprint app.register_blueprint(users_blueprint) from app.api import api as api_blueprint app.register_blueprint(api_blueprint) return app
def create_app(config_name='dev'): app = Flask(__name__) # sifn = show if none app.jinja_env.filters['sifn'] = lambda it: '无' if not it else it app.jinja_env.filters['with_site'] = lambda title: title + ' - pkyx' # 导入配置 app.config.from_object(config[config_name]) config[config_name].init_app(app) # 初始化flask_admin admin.init_app(app) admin.add_view(FileView(os.path.join(os.path.dirname(__file__), 'static'), '/static/')) # 初始化MongoDB mongo.init_app(app) with app.app_context(): mongo.db['items'].create_index('title', background=True) # 初始化Celery celery.init_app(app) # 初始化Flask-mail mail.init_app(app) # 初始化Flask-Login login_manager.init_app(app) login_manager.login_view = 'main.register' login_manager.login_message = '请先登录或注册' @login_manager.user_loader def load_user(user_id): user = None db_user = mongo.db.users.find_one({"_id": bson_obj_id(user_id)}) if db_user is not None: user_id = db_user.pop('_id') user = User(user_id, extras=db_user) return user # @login_manager.unauthorized_handler # def unauthorized(): # pass from app.main import main as main_blueprint app.register_blueprint(main_blueprint) from app.users import users as users_blueprint app.register_blueprint(users_blueprint) from app.api import api as api_blueprint app.register_blueprint(api_blueprint) return app
def init_extensions(application): # 配置Celery celery.config_from_object('app.config.setting', force=True) celery.autodiscover_tasks(['app.task.workers']) celery.init_app(application) # 数据库连接初始化 db.init_app(application) with application.app_context(): db.create_all() # 配置cache cache.init_app(app=application) # 配置文件上传 from app.api.v1.file_uploads import avatar configure_uploads(application, (avatar,)) # JWT Token身份验证初始化 jwt.init_app(application)
def create_app(config_obj, no_sql=False): app = Flask(__name__, template_folder=TEMPLATE_FOLDER, static_folder=STATIC_FOLDER) config_dict = dict([(k, getattr(config_obj, k)) for k in dir(config_obj) if not k.startswith('_')]) app.config.update(config_dict) # Import DB models with app.app_context(): for module in app.config.get('DB_MODELS_IMPORTS', list()): import_module(module) # Setup redirects and register blueprints for bp in all_blueprints: import_module(bp.import_name) app.register_blueprint(bp) # Initialize extensions/add-ons/plugins db.init_app(app) celery.init_app(app) # Activate middleware # Return the application instance. return app
def register_extensions(app): db.init_app(app) celery.init_app(app) bootstrap.init_app(app) moment.init_app(app)