gpt4 book ai didi

python - URL 以/开头时 XML2PDF 抛出异常

转载 作者:太空宇宙 更新时间:2023-11-04 08:52:11 27 4
gpt4 key购买 nike

我得到了一个带有一些硬编码 CSS 部分的 Django HTML 模板。

@font-face {
font-family:"Arial";
src: url(/static/fonts/Arial.ttf);
}
@font-face {
font-family:"Arial_Black";
src: url(/static/fonts/Arial_Black.ttf);
}

当我在 CSS 中编写 URL 并以 '/' xml2pdf 为前缀时,会在下面抛出此错误:

Exception Type: AttributeError

Exception Value: 'NoneType' object has no attribute 'startswith'

在线

/home/www/env/lib/python2.7/site-packages/xhtml2pdf-0.1b3-py2.7.egg/xhtml2pdf/util.py 在init

line: 621. if self.mimetype.startswith('text'): ...

如果我删除“/”,则 xml2pdf 开始工作,但模板无法加载字体文件。我怎样才能使它工作?

最佳答案

当我深入研究时,真正的问题终于揭示了它自己是 mime 类型的问题。

我在检查所有步骤时发现了问题。在一个步骤中,xml2pdf 尝试查找文件的 mime 类型,看起来 Python 2.7.6 没有 .ttf 文件的 mime 类型描述

>>> from mimetypes import MimeTypes
>>> import urllib
>>> url = urllib.pathname2url('static/fonts/Arial.ttf')
>>> mime = MimeTypes()
>>> mime_type = mime.guess_type(url)
>>> print mime_type
(None, None)
>>> url = urllib.pathname2url('wsgi.py')
>>> mime_type = mime.guess_type(url)
>>> print mime_type
('text/x-python', None)

我附加以下行以纠正问题:

import mimetypes
mimetypes.add_type('application/font-ttf', '.ttf')

关于python - URL 以/开头时 XML2PDF 抛出异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43355262/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com