我如何使用 Django 的静态文件缓存半身像?

How do i cache bust with Django's staticfiles?

我有一个包含图像的网页。我希望使用 ?技术。但是,staticfiles 将问号编码为“%3F”,因此路径不再正确。

{% load staticfiles %}
<img src="{% static 'poll/img/test.jpg?v2' %}">

编译为。

<img src="/static/poll/img/test.jpg%3Fv2">

没有 test.jpg%3Fv2 文件。所以它不显示。使用 static 它工作正常。

{% load static %}
<img src="{% static 'poll/img/test.jpg?v2' %}">

Get 按预期编译。我想使用 staticfiles 而不是 static,因为我从云服务提供我的静态文件。有没有办法阻止我的字符串路径的编码或问题的解决方法?

要解决编码问题,要么编写您自己的静态标签版本,要么简单地将参数移到标签之外。

{% load staticfiles %}
<img src="{% static 'poll/img/test.jpg' %}?v2">