"""应用配置""" import os from dotenv import load_dotenv import redis basedir = os.path.abspath(os.path.dirname(__file__)) load_dotenv(os.path.join(basedir, '.env')) class Config: """基础配置""" SECRET_KEY = os.environ.get('SECRET_KEY') or 'a-hard-to-guess-string' SQLALCHEMY_TRACK_MODIFICATIONS = False WTF_CSRF_ENABLED = True WTF_CSRF_TIME_LIMIT = None WTF_CSRF_CHECK_DEFAULT = False SESSION_TYPE = 'redis' SESSION_PERMANENT = False SESSION_USE_SIGNER = True SESSION_REDIS = redis.from_url(os.environ.get('REDIS_URL')) @staticmethod def init_app(app): pass class DevelopmentConfig(Config): """开发环境配置""" DEBUG = True DB_USER = os.environ.get('DB_USER') DB_PASSWORD = os.environ.get('DB_PASSWORD') DB_HOST = os.environ.get('DB_HOST') DB_NAME = os.environ.get('DB_NAME') SQLALCHEMY_DATABASE_URI = f'mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}/{DB_NAME}' class ProductionConfig(Config): """生产环境配置""" DEBUG = False DB_USER = os.environ.get('DB_USER') DB_PASSWORD = os.environ.get('DB_PASSWORD') DB_HOST = os.environ.get('DB_HOST') DB_NAME = os.environ.get('DB_NAME') SQLALCHEMY_DATABASE_URI = f'mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}/{DB_NAME}' config = { 'development': DevelopmentConfig, 'production': ProductionConfig, 'default': DevelopmentConfig }