def create_app(env_name): app = Flask(__name__) app.config.from_object(app_config[env_name]) api = Api(app) bcrypt.init_app(app) db.init_app(app) jwt.init_app(app) cors.init_app(app) app.errorhandler(InvalidUsage)(error_handler) api.add_resource(UserRegister, '/register') api.add_resource(UserLogin, '/login') api.add_resource(UserMe, '/me') api.add_resource(UserResource, '/@<string:username>') api.add_resource(PostsByUserResource, '/@<string:username>/posts') api.add_resource(FavoritePostsByUserResource, '/@<string:username>/favorites') api.add_resource(TagResource, '/tags') api.add_resource(PostsResource, '/posts') api.add_resource(PostResource, '/posts/<int:post_id>') api.add_resource(FavoriteResource, '/posts/<int:post_id>/favorite') api.add_resource(CommentsResource, '/posts/<int:post_id>/comments') api.add_resource(CommentResource, '/posts/<int:post_id>/comments/<int:comment_id>') @app.route('/', methods=['GET']) def index(): return 'Welcome' return app
def register_blueprints(app): """Register Flask blueprints.""" origins = app.config.get("CORS_ORIGIN_WHITELIST", "*") cors.init_app(routeText, origins=origins) cors.init_app(staticServing, origins=origins) app.register_blueprint(routeText) app.register_blueprint(staticServing)
def register_extensions(app): """Register Flask extensions.""" origins = app.config.get('CORS_ORIGIN_WHITELIST', '*') cors.init_app(app, resources={r"/api/*": {"origins": origins}}) bcrypt.init_app(app) cache.init_app(app) db.init_app(app) migrate.init_app(app, db) jwt.init_app(app) docs.init_app(app) api.init_app(app)
def create_app(): """Create a Flask application""" app = Flask(__name__) app.config.from_pyfile('config.py') cors.init_app(app) for blueprint in all_blueprints: import_module(blueprint.import_name) app.register_blueprint(blueprint) # Needed when running behind Nginx under Docker for authorization app.wsgi_app = ProxyFix(app.wsgi_app, x_for=1, x_host=1) return app
def register_blueprints(app): """Register Flask blueprints.""" origins = app.config.get('CORS_ORIGIN_WHITELIST', '*') cors.init_app(user.views.blueprint, origins=origins) app.register_blueprint(user.views.blueprint)
def configure_extensions(app): """ 配置扩展 :param app: app实例 :return: """ # Flask-SQLAlchemy db.init_app(app) # Flask-Mail mail.init_app(app) # Flask-Redis redis_store.init_app(app) # Flask-Cache cache.init_app(app) # Flask-Limiter limiter.init_app(app) # Flask-Cors if app.config.get('ALLOW_GLOBAL_CORS'): cors.init_app(app) # Flask-Session session.init_app(app) # # Flask-Login # login_manager.login_view = app.config["LOGIN_VIEW"] # login_manager.refresh_view = app.config["REAUTH_VIEW"] # login_manager.login_message_category = app.config["LOGIN_MESSAGE_CATEGORY"] # login_manager.needs_refresh_message_category = \ # app.config["REFRESH_MESSAGE_CATEGORY"] # login_manager.anonymous_user = Guest @login_manager.user_loader def load_user(user_id): """ 从数据库加载用户信息 :param user_id: :return: """ from src.models.user import User user_instance = User.query.filter_by(id=user_id).first() if user_instance: g.user = user_instance return user_instance else: g.user = None return None login_manager.init_app(app) # Flask-Allows allows.init_app(app) # Flask-RESTful api.init_app(app) # Flask-Debugtoolbar # toolbar.init_app(app) # Flask-Babel babel.init_app(app) # Flask-Gzip gzip.init_app(app)