from pydantic_settings import BaseSettings from functools import lru_cache from pathlib import Path # 项目根目录(backend/ 的上级目录) PROJECT_ROOT = Path(__file__).parent.parent ENV_FILE = PROJECT_ROOT / ".env" class Settings(BaseSettings): database_url: str = "sqlite+aiosqlite:///./certcenter.db" secret_key: str = "change-me-to-a-random-string" admin_username: str = "admin" admin_password: str = "admin123" cert_dir: str = "/srv/certs" base_url: str = "https://cert.example.com" class Config: env_file = str(ENV_FILE) env_file_encoding = "utf-8" @lru_cache def get_settings() -> Settings: return Settings()