Files
2025-01-20 15:39:23 +08:00

38 lines
1011 B
Python

from pathlib import Path
from typing import Optional, Tuple, Type
from pydantic_settings import (
BaseSettings,
PydanticBaseSettingsSource,
SettingsConfigDict,
TomlConfigSettingsSource,
)
class Settings(BaseSettings):
"""Application settings."""
# 应用配置
APP_NAME: str
DEBUG: bool
SECRET_KEY: str
# 路径配置
BASE_DIR: Path = Path(__file__).parent.parent.parent
model_config = SettingsConfigDict(toml_file=BASE_DIR / "config.toml")
@classmethod
def settings_customise_sources(
cls,
settings_cls: Type[BaseSettings],
init_settings: PydanticBaseSettingsSource,
env_settings: PydanticBaseSettingsSource,
dotenv_settings: PydanticBaseSettingsSource,
file_secret_settings: PydanticBaseSettingsSource,
) -> Tuple[PydanticBaseSettingsSource, ...]:
return (TomlConfigSettingsSource(settings_cls),)
# 创建全局设置实例
config = Settings()