# app/core/config.py from pydantic import Field from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): # общие env: str = "dev" tz: str = "Asia/Seoul" # БД (async/sync) database_url: str = Field(alias="DATABASE_URL") database_url_sync: str | None = Field(default=None, alias="DATABASE_URL_SYNC") # Redis/Celery redis_url: str = Field(alias="REDIS_URL") celery_broker_url: str = Field(alias="CELERY_BROKER_URL") celery_result_backend: str = Field(alias="CELERY_RESULT_BACKEND") # Telegram / секреты editor_bot_token: str = Field(alias="EDITOR_BOT_TOKEN") secret_key: str | None = Field(default=None, alias="SECRET_KEY") # Конфиг загрузки model_config = SettingsConfigDict( env_file=".env", extra="ignore", # игнорировать лишние переменные (DB_HOST, DB_USER и т.п.) case_sensitive=False, # имена переменных без учета регистра ) settings = Settings()