检查图像是不是存在于 Django 模板中

Posted

技术标签:

【中文标题】检查图像是不是存在于 Django 模板中【英文标题】: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  src="i"/></a></p>
            <p><a href="i">i|cut:"/uploads/"|truncatechars:20</a></p>
        </div>
        % endfor %

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

【问题讨论】:

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

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

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

【讨论】:

阅读此评论后,我使用***.com/questions/18364547/…做了一个自定义过滤器

以上是关于检查图像是不是存在于 Django 模板中的主要内容,如果未能解决你的问题,请参考以下文章

检查列表 django 模板中是不是存在

检查列表中是不是存在数字,应用引擎模板

在 Django 模板中获取用户信息并检查它是不是等于作者的名字

检查元素是不是在模型中 - Django 模板

Django - 检查列表是不是包含模板中的某些内容

Django模板 - 来自media_root的图片在主页中呈现,但不是其他页面