【问题标题】:In Django template, image is not displayed correctly在 Django 模板中,图像无法正确显示
【发布时间】:2023-03-31 08:28:01
【问题描述】:

我有字段 current_value 和 previous_value 的模型类。 然后,在 listview 使用的模板中,在循环内部我有这样的代码:

{% if data.current_value < data.previous_value %}
    <img src="{% static 'app1/negative.png' %}" width="40" height="40">
    <h1>Price down</h1>
{% elif data.current_value > data.previous_value %}
    <img src="{% static 'app1/positive.png' %}" width="40" height="40">
    <h1>Price up</h1>
{% else %}
    <img src="{% static 'app1/neutral.png' %}" width="40" height="40">
    <h1>Price the same</h1>
{% endif %}

H1 ​​文本显示正确,图像不正确。更具体 - 我相信“else”条件的图像总是可以的,但“if”和“elif”显示的是同一张图片(其中一张)。

令人困惑和愤怒。我做错了什么?

【问题讨论】:

    标签: html django image templates


    【解决方案1】:

    如果 h1 文本在此模板的所有分支中都正确显示,但某些图像相同,则最可能的问题是图像文件是相同的图像,但文件名不同。

    【讨论】:

    • 不,他们不是。我已经检查了很多次,现在我已经检查了。
    • 访问字段呢? current_value 和 previous_value 都是 models.FloatField()。也许我应该以不同的方式获取这些字段的值?
    • 您是否通过浏览器的开发工具和检查工具检查了正在呈现的图像?否则,请发布您的整个模板和模板渲染的示例上下文。如果没有更多信息,就不可能肯定地回答你的问题(在我原来的答案之外)。
    • 原因是,如果您的h1 元素被正确呈现,这意味着您的逻辑分支是正确的,问题出在img 标签上。
    • 不。图像可能已被缓存。
    猜你喜欢
    • 2012-05-15
    • 1970-01-01
    • 2020-08-20
    • 2020-07-30
    • 2013-10-31
    • 2020-03-03
    • 2013-02-16
    • 1970-01-01
    相关资源
    最近更新 更多