【问题标题】:Check if image exists in Django template检查图像是否存在于 Django 模板中
【发布时间】:2021-07-02 21:53:10
【问题描述】:

我目前有一个循环遍历 URL 列表的模板,就像这样。

        {% for i in images %}
        <div class="col">
            <p><a href="{{i}}"><img height="200" src="{{i}}"/></a></p>
            <p><a href="{{i}}">{{i|cut:"/uploads/"|truncatechars:20}}</a></p>
        </div>
        {% endfor %}

问题是在渲染时有些图像没有完成处理。那么如何通过 url 检查图片是否可用?

【问题讨论】:

  • “未完成处理”是什么意思?最好的方法是首先不将它们包含在images 列表中。
  • 尽管如此,但这无助于手头的问题。从本质上讲,我试图在批处理过程中在分配的时间内处理图像的模板。
  • 这就是我的建议。您应该在视图中检查批处理的结果,并且只包括在您的 images 变量中准备好的图像。模板不适合这样的扩展逻辑,反正都是在视图之后处理的,所以只会有几毫秒的差异。
  • 我不明白告诉我不要按我的意愿去做对我有什么帮助。因为我要求以这种特定方式这样做是有原因的,并试图限制原因的上下文。
  • 你没有说你必须这样做,或者解释为什么。这使您的问题成为XY problem“XY 问题是询问您尝试的解决方案,而不是您的实际问题。”

标签: django


【解决方案1】:

您必须创建一个custom tag or filter 来评估数据的可用性和完整性。也许使用requests & pillow.verify()

对于静态“解决方案”,您可以为 HTML img 提供 CSS 后备。

【讨论】:

猜你喜欢
  • 2019-07-05
  • 2011-09-07
  • 2011-11-20
  • 1970-01-01
  • 2019-09-01
  • 2011-12-17
  • 1970-01-01
  • 2012-06-30
  • 2013-06-07
相关资源
最近更新 更多