2026-01-20 01:51:39 +08:00
|
|
|
import os
|
|
|
|
|
from typing import ClassVar # <--- 1. 导入这个
|
2026-01-13 01:37:26 +08:00
|
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
|
|
|
|
|
|
|
|
|
class Settings(BaseSettings):
|
|
|
|
|
DB_USER: str
|
|
|
|
|
DB_PASS: str
|
|
|
|
|
DB_HOST: str
|
|
|
|
|
DB_PORT: str = "5432"
|
|
|
|
|
DB_NAME: str
|
|
|
|
|
DASHSCOPE_API_KEY: str
|
|
|
|
|
FIRECRAWL_API_KEY: str
|
2026-01-20 01:51:39 +08:00
|
|
|
|
|
|
|
|
CANDIDATE_NUM: int = 50
|
|
|
|
|
|
|
|
|
|
# =========================================================
|
|
|
|
|
# 【核心修复】加上 ClassVar 类型注解
|
|
|
|
|
# =========================================================
|
|
|
|
|
BASE_DIR: ClassVar[str] = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
|
|
|
|
|
ENV_PATH: ClassVar[str] = os.path.join(BASE_DIR, ".env")
|
2026-01-13 01:37:26 +08:00
|
|
|
|
2026-01-20 01:51:39 +08:00
|
|
|
# 使用绝对路径加载
|
|
|
|
|
model_config = SettingsConfigDict(env_file=ENV_PATH, extra="ignore")
|
2026-01-13 01:37:26 +08:00
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
def DATABASE_URL(self) -> str:
|
|
|
|
|
return f"postgresql+psycopg2://{self.DB_USER}:{self.DB_PASS}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}"
|
|
|
|
|
|
|
|
|
|
settings = Settings()
|