gpt4 book ai didi

django模板标签检查图像是否存在

转载 作者:行者123 更新时间:2023-12-02 03:21:28 26 4
gpt4 key购买 nike

我的应用程序的一部分允许自定义 Logo 。

默认对象(和对象 View )状态没有自定义 Logo ,但如果存在,请将标题替换为自定义 Logo 导航栏。

Logo 是公司模型上的标准 ImageField:

模型.py:

class Co(models.Model):
logo = models.ImageField(blank=True)

模板:

{% if co.logo %}
{% block navbar %}
{% include 'templates/navbar_logo.html' %}
{% endblock %}
{% endif %}

我也尝试过 {% if co.logo == None %}, {% if not ... %}, { % if co.logo.url %} 并尝试使用 co.logo|default_if_none:"" 建模逻辑,但在未设置 Logo 的情况下, View 会抛出:

/co/foo 处的值错误“logo”属性没有与之关联的文件。

对于...空也不起作用

{% for co.logo.url in co %}
...
{% empty %}
...
{% endfor %}

在 Django shell 中:

(带 Logo )

c.logo >> <ImageFieldFile: logo.png>
c.logo.url >> '/media/logo.png'

(无 Logo )

b.logo >> <ImageFieldFile: None>

是否有内置的 django 模板标记过滤器,仅当字段上传了图像时才允许此条件通过 True?否则不加载导航 block ?谢谢

最佳答案

我通过重新排序标签解决了这个问题:

{% block navbar %}
{% if co.logo %}
{% include 'templates/navbar_logo.html' %}
{% else %}
{% include 'templates/navbar.html' %}
{% endif %}
{% endblock %}

关于django模板标签检查图像是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54636595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com