Django静态templatetag不显示SVG

2024-10-06 07:44:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图使用django的statictemplatetag来显示SVG,但它似乎无法将SVG识别为有效的图像url。这是我目前拥有的:

在设置.py在

import mimetypes
mimetypes.add_type("images/svg+xml", ".svg", True)

在登陆.html在

^{pr2}$

至少在我的视图.py,它识别SVG mimetype:

在视图.py在

print(mimetypes.guess_type(static('images/right-arrow.svg'))) 
  # returns ('images/svg+xml', None)

SVG确实显示在非django页面中,如果我尝试在新的浏览器选项卡中打开SVG路径,它将下载SVG。在

我目前使用的是python3.4和django1.8.4。在


Tags: djangopysvg图像importadd视图true
3条回答

在你的设置.py文件。在

import mimetypes

mimetypes.add_type("image/svg+xml", ".svg", True)
mimetypes.add_type("image/svg+xml", ".svgz", True)

在您的例子中,您已经在add_type中添加了图像,它应该是单数(image)。在

我也遇到了类似的问题。我建议您使用: src=“{{STATIC_URL}}图像/right-箭头.svg“而不是src=”{%static'images/right-箭头.svg“%}”

svg格式可能并不总是标识django获取staticfile的方法内容。希望这有助于:)

我发现了问题。在settings.py中,它应该是mimetypes.add_type('image/svg+xml', '.svg', True)image应该是单数的。在

相关问题 更多 >