24 lines
667 B
Python
24 lines
667 B
Python
|
|
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||
|
|
|
||
|
|
class Settings(BaseSettings):
|
||
|
|
"""
|
||
|
|
系统配置类
|
||
|
|
自动读取环境变量或 .env 文件
|
||
|
|
"""
|
||
|
|
DB_USER: str
|
||
|
|
DB_PASS: str
|
||
|
|
DB_HOST: str
|
||
|
|
DB_PORT: str = "5432"
|
||
|
|
DB_NAME: str
|
||
|
|
|
||
|
|
DASHSCOPE_API_KEY: str
|
||
|
|
FIRECRAWL_API_KEY: str
|
||
|
|
|
||
|
|
# 配置:忽略多余的环境变量,指定编码
|
||
|
|
model_config = SettingsConfigDict(env_file=".env", extra="ignore", env_file_encoding='utf-8')
|
||
|
|
|
||
|
|
@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()
|