我将转盘订购了。每个实例通过picture元素都有一个webp文件名的图像和字符字段。当我对srcset进行硬编码而不是使用{{variable}}时,webp图像加载非常完美。
问题是,使管理员后端无法保持动态状态,并使我难以对网站上的每张图片或我想在Google上排名的页面进行硬编码。香港专业教育学院读过很多其他的职位,但我仍然坚持。有什么方法可以从后端干净地提供webp文件名?
我读过。
load static file with variable name in django
django 1.5 - How to use variables inside static tag
这是最接近解决我问题的方法,但还不够。
https://snakeycode.wordpress.com/2015/02/20/variables-in-django-static-tags/
carousel_image = models.ForeignKey("wagtailimages.Image", on_delete=models.SET_NULL,related_name="+",)
webp = models.CharField(max_length=100, blank=True, null=True)
{% for loop_cycle in self.carousel_images.all %}
{% image loop_cycle.carousel_image max-750x500 as img %}
<picture>
<source srcset="{% static '{{loop_cycle.webp}}'%}" type="image/webp" >
<img src="{% static '{{img.url}}'%}" alt="{{ img.alt }}">
</picture>
当我进行硬编码时,这很完美,但是拥有可订购的下一代图像友好型轮播又有什么意义呢?谢谢您阅读《我要疯了》
<picture>
<source srcset="{% static '{{loop_cycle.webp}}'%}" type="image/webp" >
<img src="{% static '{{img.url}}'%}" alt="{{ img.alt }}">
</picture>
当我进行硬编码时,这很完美,但是拥有可订购的下一代图像友好型轮播又有什么意义呢?谢谢您阅读《我要疯了》
答案 0 :(得分:0)
好吧,也做了些麻烦,弄清楚这里是工作代码。
<picture>
<source srcset="{% static 'webp/'|add:loop_cycle.webp|add:'.webp' %}" type="image/webp" >
<img src="{% static 'webp/'|add:loop_cycle.webp|add:'.webp' %}" alt="{{ img.alt }}">
</picture>
我很高兴!!!!