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

时间:2014-11-14 06:45:37

标签: python django django-templates

我正在尝试加载一个网址,其网址由可修改的数值组成。 是否只有模板解决方案,或者我真的必须在extras.py中创建一个过滤器吗?我宁愿写这个班轮。以下内容:

{% with urltemp="media/"|add:info.personid|stringformat:"s"|add:".jpg"  %}
        <img src="{% static urltemp %}" onerror="this.style.display='none'"/>
{% endwith %}

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

怎么样:

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