URL标记内的Django标记

时间:2017-12-15 10:05:36

标签: django django-templates django-views

我想基于页面的pk使用动态图像。 为了更清楚,我有一个调查应用程序,每页使用一个问题..这意味着向用户提出他回答的问题并重定向到下一个问题。每个问题都有不同的ID,我想在每个问题上附上一张图片。 现在我有一个静态图像:

<div class="col-5">
   <img src="{% static 'images/RightSpeech.jpg' %}" class="img-fluid" alt="Responsive image">
</div>

但我想让它充满活力..我尝试了类似的东西但没有成功:

<div class="col-5">
    <img src="{% static 'images/image{{question.pk}}.jpg' %}" class="img-fluid" alt="Responsive image">
</div>

任何想法?

enter image description here

2 个答案:

答案 0 :(得分:1)

除了将STATIC_URL的值添加到传递给它的任何内容之外,static标记实际上没有做任何其他事情。您可以手动执行此操作,而不是弄乱所有这些标记:

<img src="{{ STATIC_URL }}/images/image{{question.pk}}.jpg" 

如果由于某种原因未激活静态上下文处理器,您可以完全以相同的方式使用{% get_static_prefix %}标记:

<img src="{% get_static_prefix %}/images/image{{question.pk}}.jpg" 

答案 1 :(得分:0)

您需要使用

{% static 'images/image'|add:question.id|add:'.jpg' %}

为了将问题PK连接到图像名称。这只是使用了连接过滤器|add:

编辑1

如果以上操作不起作用,您可以尝试使用{% with %}标记,因此在您的情况下:

{% with "images/image"|add:question.id|add:".jpg" as customUrl %}
    {% static customUrl %}
{% endwith %}

希望这有帮助!