django easy pdf无法显示包含静态文件(css / images)

时间:2017-11-26 18:48:27

标签: django pdf

我正在尝试使用django-easy-pdf将一些图像和CSS添加到我的pdf中,但是它们没有显示出来。

getFile '/static/open-iconic/font/css/open-iconic-bootstrap.css' '...\\mysite\\__dummy__' '...\\mysite\\__dummy__'
Traceback (most recent call last):
  File "...\Python\Python36-32\lib\site-packages\xhtml2pdf\context.py", line 828, in _getFileDeprecated
    nv = self.pathCallback(name, relative)
  File "...\Python\Python36-32\lib\site-packages\easy_pdf\rendering.py", line 35, in fetch_resources
    path = os.path.join(settings.STATIC_ROOT, uri.replace(settings.STATIC_URL, ""))
  File "...\Python\Python36-32\lib\ntpath.py", line 75, in join
    path = os.fspath(path)
TypeError: expected str, bytes or os.PathLike object, not NoneType
line 0, msg: getFile %r %r %r, fragment: 

我的模板文件:

{% load static %}
<link href="{% static '/open-iconic/font/css/open-iconic-bootstrap.css' %}" rel="stylesheet">

我的文件夹结构:

mysite
- mysite
- app
    -static

静态文件在提供普通网页时有效,但不在pdf中。有什么建议吗?

1 个答案:

答案 0 :(得分:0)

this线程,Django-easy-pdf可以使用file://从本地http/https或远程WeasyPrint网址呈现图片。这意味着您要编辑此设置的设置文件,以便与django-site协调工作。我修改了演示应用来说明这一点。克隆/拉取django-easy-pdf-demo-app 以修改已修改的应用。