33 lines
949 B
Python
33 lines
949 B
Python
import os
|
||
from datetime import timedelta
|
||
from dotenv import load_dotenv
|
||
|
||
# 加载 .env 文件中的环境变量
|
||
load_dotenv()
|
||
|
||
class Config:
|
||
# 数据库配置
|
||
SQLALCHEMY_DATABASE_URI = os.getenv(
|
||
'DATABASE_URL',
|
||
'mysql+pymysql://root:your_password@localhost:3306/pt_manager'
|
||
)
|
||
SQLALCHEMY_TRACK_MODIFICATIONS = False
|
||
SQLALCHEMY_ECHO = True # 开发时显示SQL语句
|
||
|
||
# Flask密钥
|
||
SECRET_KEY = os.getenv('SECRET_KEY', 'dev-secret-key-change-this')
|
||
|
||
# JWT配置
|
||
JWT_SECRET_KEY = os.getenv('JWT_SECRET_KEY', 'dev-secret-key-change-this')
|
||
JWT_ACCESS_TOKEN_EXPIRES = timedelta(hours=24)
|
||
JWT_TOKEN_LOCATION = ['headers']
|
||
JWT_HEADER_NAME = 'Authorization'
|
||
JWT_HEADER_TYPE = 'Bearer'
|
||
|
||
# 禁用CSRF保护(仅使用headers中的Bearer token)
|
||
JWT_COOKIE_CSRF_PROTECT = False
|
||
|
||
# 添加这些配置
|
||
JWT_ERROR_MESSAGE_KEY = 'error'
|
||
PROPAGATE_EXCEPTIONS = True
|