WeasyPrint 无法加载 images/css:名称解析暂时失败
WeasyPrint unable to load images/css: Temporary failure in name resolution
我在 Windows 10 开发机器上的 Python 3.6 上使用 WeasyPrint 52.3(在撰写本文时可用的最新版本)和 Django 2.2 LTS;一切正常。
然而,当我尝试在我的 Linux 机器(相同 WeasyPrint/Django/Python 版本)上呈现 PDF 时,我尝试从 URI 加载的所有项目都没有显示,包括图像和 CSS.当不使用 WeasyPrint 时,images/CSS 被正确加载。我的 images/CSS 可在 https://myhost.tld/some.css
获得,myhost
已签署证书。
使用内联 CSS 时,CSS 渲染良好。
我尝试通过以下方式启用 WeasyPrint 日志记录:
import logging
logger = logging.getLogger('weasyprint')
logger.addHandler(logging.FileHandler('/tmp/weasyprint.log'))
我看到以下输出:
Failed to load stylesheet at https://myhost.tld/assets/css/pdf.css : URLError: <urlopen error [Errno -3] Temporary failure in name resolution>
怎么会这样?我的 DNS 系统已针对 myhost.tld.
正确设置
确保 myhost.tld
是 /etc/hosts
文件的一部分:
127.0.0.1 localhost
127.0.1.1 myhost
127.0.2.1 myhost.tld
重新启动正确的服务,文件将加载。
我在 Windows 10 开发机器上的 Python 3.6 上使用 WeasyPrint 52.3(在撰写本文时可用的最新版本)和 Django 2.2 LTS;一切正常。
然而,当我尝试在我的 Linux 机器(相同 WeasyPrint/Django/Python 版本)上呈现 PDF 时,我尝试从 URI 加载的所有项目都没有显示,包括图像和 CSS.当不使用 WeasyPrint 时,images/CSS 被正确加载。我的 images/CSS 可在 https://myhost.tld/some.css
获得,myhost
已签署证书。
使用内联 CSS 时,CSS 渲染良好。
我尝试通过以下方式启用 WeasyPrint 日志记录:
import logging
logger = logging.getLogger('weasyprint')
logger.addHandler(logging.FileHandler('/tmp/weasyprint.log'))
我看到以下输出:
Failed to load stylesheet at https://myhost.tld/assets/css/pdf.css : URLError: <urlopen error [Errno -3] Temporary failure in name resolution>
怎么会这样?我的 DNS 系统已针对 myhost.tld.
正确设置确保 myhost.tld
是 /etc/hosts
文件的一部分:
127.0.0.1 localhost
127.0.1.1 myhost
127.0.2.1 myhost.tld
重新启动正确的服务,文件将加载。