我创建了一个 SVG sprite 表,现在正在研究在 Django 模板中使用它的各种方法。
最简单的方法是:
templates/
(例如templates/svg_spritesheet.svg
){% include "svg_spritesheet.svg" %}
<svg><use xlink:href="#my_svg"></use></svg>
这对我有用。但这种方法存在操作上的缺陷。
例如:我通常将静态资源存放在{{ STATIC_URL }}
. 这对于组织目的来说更好。其次,我对{{ STATIC_URL }}
. 不过,我的文件夹没有使用此类缓存/templates
。
因此,很自然地,在我看来,如果我将 SVG spritesheet 停放在 处会更好{{ STATIC_URL }}
。但是一旦我这样做了,如何将它包含在我的 Django 模板中呢?
以下方法均无效:
{% include 'static/svg_spritesheet.svg' %}
{% include '{{ STATIC_URL }}svg_spritesheet.svg' %}
<object type="image/svg+xml" data="{{ STATIC_URL }}svg_spritesheet.svg"></object>
<link type="image/svg+xml" href="{{ STATIC_URL }}svg_spritesheet.svg">
专家能否给出一个说明性示例,说明如何使用放置在 处的 SVG 精灵表{{ STATIC_URL }}
?提前致谢(如果有必要,我正在使用Django 1.8.19
该项目)。
注意:以防万一您错过了 - 这个问题涉及SVG 精灵表,而不是单个 SVG。单个精灵表包含多个 SVG 图像 - 可以根据需要有选择地调用这些图像。
答案就在我眼皮底下。
从 spritesheet 渲染 SVG 时只需插入所需的位置:
{% load static %}
<svg>
<use
href="{% static "svg_spritesheet.svg" %}#my_image"
>
</use>
</svg>
Run Code Online (Sandbox Code Playgroud)
这样,您可以将 SVG spritesheets 保存在static
文件夹中 - 因此所有/任何缓存基础设施都完全适用。快乐编码!
归档时间: |
|
查看次数: |
4131 次 |
最近记录: |