如何解决渲染SVG内容Django
我的图像文件夹中有静态的svg文件。我想在我的锚标记中呈现实际的svg内容。我尝试了{% static "images/blog/facebook-icn.svg" %}
,它只是将其解析为字符串。在html内呈现svg文件的实际内容的功能是什么?
代码:
{% load staticfiles %}
<a href="http://www.facebook.com/sharer/sharer.php?u=my-site{{ request.get_full_path|urlencode }}"
target="_blank" class="facebook">
{% static "images/blog/facebook-icn.svg" %}
</a>
解决方法
直接从static
加载svg文件似乎存在问题。一种解决方案是将其放置在templates
目录中,并与{% include 'logo.svg' %}
一起使用。
我们可以采用的另一种简便方法是直接使用django-inline-svg
模块。
pip install django-inline-svg
执行此操作后,请竖起大拇指(不要使用 IMG TAG,之后使用 css 很糟糕)。
有史以来最简单、最正确的方法:
1 - 下载 svg 文件(将它们放入 svg 文件夹)和 sprite 文件,如下所示(注意“sprite.svg”不在 svg 文件夹中,而是在 img 文件夹中,请注意:
2 - 在您的模板文件中:
{% load static %}
<svg class="search__logo">
<use xlink:href="{% static 'shop/img/sprite.svg' %} #icon-magnifying-glass"></use>
</svg>
#icon-magnifying-glass 是我在 sprite.svg 文件中选择的 svg 的“id”。
我测试了数千个库,但这是一种自然的方式,您可以使用 svg,而无需重新发明轮子。
寿命长!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。