47 lines
1.2 KiB
Python
47 lines
1.2 KiB
Python
|
|
import os
|
||
|
|
from dotenv import load_dotenv
|
||
|
|
|
||
|
|
# 加载环境变量
|
||
|
|
load_dotenv()
|
||
|
|
|
||
|
|
class Config:
|
||
|
|
"""基础配置"""
|
||
|
|
# 密钥配置
|
||
|
|
SECRET_KEY = os.environ.get('SECRET_KEY') or 'dev-secret-key-change-in-production'
|
||
|
|
|
||
|
|
# 数据库配置
|
||
|
|
DB_HOST = os.environ.get('DB_HOST') or 'localhost'
|
||
|
|
DB_PORT = os.environ.get('DB_PORT') or '3306'
|
||
|
|
DB_USER = os.environ.get('DB_USER') or 'root'
|
||
|
|
DB_PASSWORD = os.environ.get('DB_PASSWORD') or ''
|
||
|
|
DB_NAME = os.environ.get('DB_NAME') or 'ai_nav'
|
||
|
|
|
||
|
|
SQLALCHEMY_DATABASE_URI = f'mysql+pymysql://{DB_USER}:{DB_PASSWORD}@{DB_HOST}:{DB_PORT}/{DB_NAME}?charset=utf8mb4'
|
||
|
|
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||
|
|
SQLALCHEMY_ECHO = False
|
||
|
|
|
||
|
|
# 分页配置
|
||
|
|
SITES_PER_PAGE = 20
|
||
|
|
|
||
|
|
# 上传文件配置
|
||
|
|
UPLOAD_FOLDER = 'static/uploads'
|
||
|
|
MAX_CONTENT_LENGTH = 5 * 1024 * 1024 # 5MB
|
||
|
|
ALLOWED_EXTENSIONS = {'png', 'jpg', 'jpeg', 'gif', 'webp'}
|
||
|
|
|
||
|
|
class DevelopmentConfig(Config):
|
||
|
|
"""开发环境配置"""
|
||
|
|
DEBUG = True
|
||
|
|
SQLALCHEMY_ECHO = True
|
||
|
|
|
||
|
|
class ProductionConfig(Config):
|
||
|
|
"""生产环境配置"""
|
||
|
|
DEBUG = False
|
||
|
|
SQLALCHEMY_ECHO = False
|
||
|
|
|
||
|
|
# 配置字典
|
||
|
|
config = {
|
||
|
|
'development': DevelopmentConfig,
|
||
|
|
'production': ProductionConfig,
|
||
|
|
'default': DevelopmentConfig
|
||
|
|
}
|