37 lines
786 B
Python
37 lines
786 B
Python
import secrets
|
|
from typing import Optional
|
|
|
|
from pydantic import BaseSettings, HttpUrl
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
# JWT
|
|
SECRET_KEY: str = secrets.token_urlsafe(32)
|
|
ALGORITHM: str = 'HS256'
|
|
ACCESS_TOKEN_EXPIRE_MINUTES: int = 60 * 24 * 3
|
|
|
|
# Sentry
|
|
SENTRY_DSN: Optional[HttpUrl]
|
|
|
|
# 数据库
|
|
MYSQL_ADDRESS: str
|
|
MYSQL_USER: str
|
|
MYSQL_PASSWORD: str
|
|
MYSQL_DB: str
|
|
|
|
# redis, ip + 端口
|
|
REDIS_ADDRESS: str
|
|
# rabbitMQ
|
|
RABBITMQ_ADDRESS: str
|
|
...
|
|
# 短信服务
|
|
|
|
# 邮件服务
|
|
|
|
# 支付宝信息
|
|
|
|
# 存储服务信息
|
|
|
|
# pip freeze > requirements.txt
|
|
# settings = Settings(_env_file='../.env.development', _env_file_encoding='utf-8')
|
|
settings = Settings(_env_file='.env.development', _env_file_encoding='utf-8') |