From 32da4c9cf18ae28d9e4f2957cadc9de42a7af9db Mon Sep 17 00:00:00 2001 From: xiaji Date: Wed, 21 Jan 2026 22:04:18 +0800 Subject: [PATCH] =?UTF-8?q?fix(core):=20=E5=A2=9E=E5=BC=BAWeasyPrint?= =?UTF-8?q?=E5=8F=AF=E7=94=A8=E6=80=A7=E6=A3=80=E6=B5=8B=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加实际PDF生成测试以验证WeasyPrint依赖库是否真正可用 捕获并记录所有异常情况,确保PDF功能状态准确 --- core/views.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/core/views.py b/core/views.py index 948e9c8..596271e 100644 --- a/core/views.py +++ b/core/views.py @@ -18,10 +18,20 @@ def is_weasyprint_available(): if WEASYPRINT_AVAILABLE is None: try: from weasyprint import HTML + # 测试WeasyPrint是否真正可用,检查依赖库 + test_html = HTML(string="Test") + # 尝试生成PDF以验证依赖库是否可用 + import tempfile + with tempfile.NamedTemporaryFile(suffix='.pdf', delete=True) as tmp: + test_html.write_pdf(tmp.name) WEASYPRINT_AVAILABLE = True + logger.info("WeasyPrint库可用,PDF功能正常") except ImportError: logger.warning("WeasyPrint库无法导入,PDF功能将不可用") WEASYPRINT_AVAILABLE = False + except Exception as e: + logger.warning(f"WeasyPrint依赖库不可用: {str(e)},PDF功能将不可用") + WEASYPRINT_AVAILABLE = False return WEASYPRINT_AVAILABLE from .models import (