__init__.py 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import os
  2. from flask import Flask
  3. from apps.config import config
  4. from apps.views import init_blueprints
  5. def create_app(config_name="default") -> Flask:
  6. ''' create app '''
  7. config_name = os.getenv('FLASK_CONFIG') or config_name
  8. # CORS(app, supports_credentials=True, resources={
  9. # r"/api/*": {'origins': "*"}
  10. # })
  11. app = Flask(config[config_name].BASE_DIR)
  12. app.config.from_object(config[config_name]) # 读取配置
  13. config[config_name].init_app(app)
  14. init_dir()
  15. init_blueprints(app)
  16. return app
  17. def init_dir():
  18. ''' init dir '''
  19. files = [
  20. 'tmp/ct', 'tmp/draw',
  21. 'tmp/image', 'tmp/mask', 'tmp/uploads'
  22. ]
  23. for ff in files:
  24. if not os.path.exists(ff):
  25. os.makedirs(ff)
  26. # 添加header解决跨域
  27. # @app.after_request
  28. # def after_request(response):
  29. # response.headers['Access-Control-Allow-Origin'] = '*'
  30. # response.headers['Access-Control-Allow-Credentials'] = 'true'
  31. # response.headers['Access-Control-Allow-Methods'] = 'POST'
  32. # response.headers['Access-Control-Allow-Headers'] = 'Content-Type, X-Requested-With'
  33. # return response
  34. # with app.app_context():
  35. # current_app.model = deploy.Predictor(
  36. # './core/net/inference_model', use_gpu=True)