django:连接字符串以在模板中创建静态图像的 url

问题描述 投票:0回答:3

我正在尝试加载一个图像,其网址由一个可用的数值组成。 是否有一个仅模板的解决方案,或者我真的必须在 extras.py 中创建一个过滤器?我宁愿只写这一行。大致如下:

{% with urltemp="media/"|add:info.personid|stringformat:"s"|add:".jpg"  %}
        <img src="{% static urltemp %}" onerror="this.style.display='none'"/>
{% endwith %}
python django django-templates
3个回答
1
投票

我知道你可以使用

{% static your_url %}
,但我总是更喜欢这样做:

我的图像在

myproject/static/img/

我的

{{STATIC_URL}}
(settings.py变量)指向
myproject/static

所以在模板中我通常这样做:

<img src="{{STATIC_URL}}img/image_name.png" />

或使用

ImageField

{% for item in item_list%}
    <img src="{{ item.image.url }}" />
{% endfor %}

根据您的情况,您可以这样做:

<img src="{{ MEDIA_URL }}{{ info.personid }}.jpg" />

{{ MEDIA_URL }}
已经以
/

结尾
  • 您需要在settings.py中定义
    MEDIA_URL

0
投票

怎么样:

<img src="{% get_media_prefix %}{{ info.personid }}.jpg"/>

0
投票

试试这个

        {% for name in image_list %}
          <div>
            <img src="{% static %}string_path/{{name.image}}.jpg" alt="img">
          </div>
        {% endfor %}
© www.soinside.com 2019 - 2024. All rights reserved.