This commit is contained in:
2025-01-20 15:38:15 +08:00
parent a0b76f1d51
commit b9cde3e874
14 changed files with 161 additions and 9 deletions

View File

@@ -0,0 +1 @@
from .config import *

View File

@@ -0,0 +1,37 @@
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 = "{{ cookiecutter.project_name }}"
DEBUG: bool = False
SECRET_KEY: str = "{{ cookiecutter.secret_key }}"
# 路径配置
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()