WeasyPrint 无法加载 images/css:名称解析暂时失败

WeasyPrint unable to load images/css: Temporary failure in name resolution

我在 Windows 10 开发机器上的 Python 3.6 上使用 Wea​​syPrint 52.3(在撰写本文时可用的最新版本)和 Django 2.2 LTS;一切正常。

然而,当我尝试在我的 Linux 机器(相同 WeasyPrint/Django/Python 版本)上呈现 PDF 时,我尝试从 URI 加载的所有项目都没有显示,包括图像和 CSS.当不使用 Wea​​syPrint 时,images/CSS 被正确加载。我的 images/CSS 可在 https://myhost.tld/some.css 获得,myhost 已签署证书。

使用内联 CSS 时,CSS 渲染良好。

我尝试通过以下方式启用 Wea​​syPrint 日志记录:

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

重新启动正确的服务,文件将加载。