From 4418599f46bb32fc44d58e55e17f31bb71803004 Mon Sep 17 00:00:00 2001 From: OoO Date: Thu, 14 May 2026 00:00:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=BB=A0=E5=95=86=E6=A8=A1?= =?UTF-8?q?=E6=9D=BF=E8=BC=89=E5=85=A5=E5=84=AA=E5=85=88=E5=BA=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 9 +++++++++ config.py | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app.py b/app.py index c006dec..ff77163 100644 --- a/app.py +++ b/app.py @@ -30,6 +30,7 @@ except OSError as e: # ================= 🔧 2. 核心模組導入 ================= try: from flask import Flask, render_template, jsonify, request, send_file, redirect, url_for, send_from_directory, flash, session + from jinja2 import ChoiceLoader, FileSystemLoader from werkzeug.utils import secure_filename from pyngrok import ngrok, conf import schedule @@ -127,6 +128,7 @@ else: sys_log.warning("[Security] ⚠️ NGROK_AUTH_TOKEN 未設定,已跳過 ngrok auth token 注入") TEMPLATE_DIR = os.path.join(BASE_DIR, 'templates') +WEB_TEMPLATE_DIR = os.path.join(BASE_DIR, 'web/templates') STATIC_DIR = os.path.join(BASE_DIR, 'web/static') # 檢查關鍵模板是否存在 @@ -137,6 +139,13 @@ app = Flask(__name__, template_folder=TEMPLATE_DIR, static_folder=STATIC_DIR) +if os.path.isdir(WEB_TEMPLATE_DIR): + # Keep newer module templates ahead of stale legacy copies that may exist on older hosts. + app.jinja_loader = ChoiceLoader([ + FileSystemLoader(WEB_TEMPLATE_DIR), + app.jinja_loader, + ]) + # ========================================== # 🔒 Flask 安全配置 # ========================================== diff --git a/config.py b/config.py index 0726911..2117f17 100644 --- a/config.py +++ b/config.py @@ -320,7 +320,7 @@ YOUTUBE_API_KEY = os.getenv('YOUTUBE_API_KEY', '') # ========================================== # 系統版本與路徑 # ========================================== -SYSTEM_VERSION = "V10.142" +SYSTEM_VERSION = "V10.143" LOG_FILE_PATH = os.path.join(BASE_DIR, 'logs/system.log') public_url = PUBLIC_URL # 用於模板顯示