From af1db3de4fd439500a3856e3d3742904804a6985 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=84=A6=E9=BE=99=E8=A8=80?= Date: Tue, 23 Jun 2026 09:14:13 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0docker=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E5=90=AF=E5=8A=A8=E9=A1=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- financial_system/core/settings.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/financial_system/core/settings.py b/financial_system/core/settings.py index c44a795..5a9fc12 100644 --- a/financial_system/core/settings.py +++ b/financial_system/core/settings.py @@ -76,7 +76,7 @@ def get_settings() -> AppSettings: upload_dir=_project_path(storage.get("upload_dir", "uploads")), output_dir=_project_path(storage.get("output_dir", "outputs")), avatar_dir=_project_path(storage.get("avatar_dir", "static/uploads/avatars")), - database_url=str(database.get("url", DEFAULT_DATABASE_URL)).strip(), + database_url=_env_string("DATABASE_URL", database.get("url", DEFAULT_DATABASE_URL)), dingtalk_app_key=str(dingtalk.get("app_key", "")).strip(), dingtalk_app_secret=str(dingtalk.get("app_secret", "")).strip(), dingtalk_base_url=str(dingtalk.get("base_url", "https://oapi.dingtalk.com")).rstrip("/"), @@ -141,6 +141,11 @@ def _string_tuple(value: object, default: tuple[str, ...]) -> tuple[str, ...]: return normalized or default +def _env_string(name: str, fallback: object) -> str: + configured_value = os.getenv(name, "").strip() + return configured_value or str(fallback).strip() + + def _bool(value: object) -> bool: if isinstance(value, bool): return value