2016-12-24 1 views
0

У меня возникли проблемы с отображением моих изображений, если значение url исходит от dict.Показать статические изображения с url из dict в шаблоне

если я делаю ниже, это работает.

{% for key, values in images.images.items %} 
    <div class="imageBox"> 
     <img src="{% static 'images/ka/1.jpg' %}" alt="My image" width=100% height=100%/> 
    </div> 
{% endfor %} 

Но вместо этого я хотел бы использовать значения url из итерации dict. Как ниже

{% for key, values in images.images.items %} 
    <div class="imageBox"> 
     <img src="{% static '{{values}}' %}" alt="My image" width=100% height=100%/> 
    </div> 
{% endfor %} 

значение

{{values}} = 'images/ka/1.jpg' 

Но этот dosen't работы даже Тхо {{values}} является 'images/ka/1.jpg', как и в предыдущем примере. Если я осмотрю html в моем браузере, он отобразит src: /static/%7B%7B%20values%20%7D%7D. Почему это другое?

ответ

2

Вам не нужно {{ }} внутри {% static %} тега. Попробуйте это:

{% for key, values in images.images.items %} 
    <img src="{% static values %}"> 
{% endfor %} 

Это должно работать.

+1

Вот и все! Не могу поверить, что я этого не пытался. Благодаря :) – vandelay

1

Вы можете использовать get_static_prefix тег шаблона следующим образом:

<img src="{% get_static_prefix %}{{ values }}" alt="My image" width=100% height=100%/> 

get_static_prefix заполнит переменную шаблон с путем, указанным в вашем STATIC_URL.

Ссылка get_static_prefix

+0

Это дает мне «get_static_prefix», ожидаемый «пустой» или «endfor». Вы забыли зарегистрировать или загрузить этот тег ?. Нужно ли что-то менять в настройках? – vandelay

+0

Вы закончили цикл 'for'? –

+0

Также вам нужно '{% load static%}' вверху вашей страницы. –

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