51 lines
1.7 KiB
Python
51 lines
1.7 KiB
Python
import os
|
|
from datetime import timedelta
|
|
|
|
class Config:
|
|
# 基础配置
|
|
SECRET_KEY = os.environ.get('SECRET_KEY') or 'your-secret-key-here-change-in-production'
|
|
|
|
# 数据库配置
|
|
MYSQL_HOST = os.environ.get('MYSQL_HOST', '119.91.236.167')
|
|
MYSQL_PORT = int(os.environ.get('MYSQL_PORT', 3306))
|
|
MYSQL_USER = os.environ.get('MYSQL_USER', 'Language_learning')
|
|
MYSQL_PASSWORD = os.environ.get('MYSQL_PASSWORD', 'cosyvoice')
|
|
MYSQL_DB = os.environ.get('MYSQL_DB', 'language_learning')
|
|
|
|
SQLALCHEMY_DATABASE_URI = f'mysql+pymysql://{MYSQL_USER}:{MYSQL_PASSWORD}@{MYSQL_HOST}:{MYSQL_PORT}/{MYSQL_DB}?charset=utf8mb4'
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
|
SQLALCHEMY_ENGINE_OPTIONS = {
|
|
'pool_pre_ping': True,
|
|
'pool_recycle': 300,
|
|
}
|
|
|
|
# 邮箱配置
|
|
EMAIL_HOST = os.environ.get('EMAIL_HOST', 'smtp.qq.com')
|
|
EMAIL_PORT = int(os.environ.get('EMAIL_PORT', 587))
|
|
EMAIL_ENCRYPTION = os.environ.get('EMAIL_ENCRYPTION', 'starttls')
|
|
EMAIL_USERNAME = os.environ.get('EMAIL_USERNAME', '3399560459@qq.com')
|
|
EMAIL_PASSWORD = os.environ.get('EMAIL_PASSWORD', 'fzwhyirhbqdzcjgf')
|
|
EMAIL_FROM = os.environ.get('EMAIL_FROM', '3399560459@qq.com')
|
|
EMAIL_FROM_NAME = os.environ.get('EMAIL_FROM_NAME', 'BOOKSYSTEM_OFFICIAL')
|
|
|
|
# Session配置
|
|
PERMANENT_SESSION_LIFETIME = timedelta(hours=24)
|
|
|
|
# 验证码配置
|
|
VERIFICATION_CODE_EXPIRE_MINUTES = 5
|
|
|
|
# 文件上传配置
|
|
MAX_CONTENT_LENGTH = 100 * 1024 * 1024 # 100MB
|
|
|
|
class DevelopmentConfig(Config):
|
|
DEBUG = True
|
|
|
|
class ProductionConfig(Config):
|
|
DEBUG = False
|
|
|
|
config = {
|
|
'development': DevelopmentConfig,
|
|
'production': ProductionConfig,
|
|
'default': DevelopmentConfig
|
|
}
|