init
This commit is contained in:
37
{{cookiecutter.project_slug}}/app/core/config.py
Normal file
37
{{cookiecutter.project_slug}}/app/core/config.py
Normal 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()
|
||||
Reference in New Issue
Block a user