2016-11-21 5 views
1

Я пытаюсь использовать SVG спрайты для иконок в месте, как это:Как остановить Джанго побега символа #

<svg aria-hidden="true" class="icon"> 
    <use xlink:href="{% static 'images/site-icons.svg#icon-twitter' %}"></use> 
</svg> 

Однако это не работает, потому что # получает спасся Джанго и поэтому я получаю:

<svg aria-hidden="true" class="icon"> 
    <use xlink:href="/static/images/site-icons.svg%23icon-twitter"></use> 
</svg> 

Таким образом, изображения не отображаются. я изолировал, что проблема является маскирование, так как она работает, если я вставить содержимое site-icons.svg в шаблоне, и сделать

<svg aria-hidden="true" class="icon"> 
    <use xlink:href="#icon-twitter"></use> 
</svg> 

так что проблема в побеге.

Кто-нибудь знает, как избежать этого побега?

+0

Связано: [Возможно передавать параметры запроса через Djan go {% url%} тег шаблона?] (http://stackoverflow.com/q/4591525/1324033) – Sayse

ответ

3

Вы должны переместить идентификатор после статического тега

{% static 'images/site-icons.svg#icon-twitter' %} 

должен быть

{% static 'images/site-icons.svg' %}#icon-twitter 

Причиной этого является то, что работа статического тега, чтобы найти путь к статическому файлу, так что все, что ему нужно, это местоположение файла, после чего нужно добавить что-то дополнительное, чтобы после визуализации шаблона он отображался как единственная ссылка (связанная?)

+1

А, так просто! Спасибо, это сработало! : D –

+0

@XiruxNefer - Не беспокойтесь, наслаждайтесь! – Sayse

Смежные вопросы