You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django如何根据表单选中选项在模板中展示数据库存储的图片

问题原因与修复方案

1. 视图层错误修复

你当前视图中使用filter()查询返回的是QuerySet查询集合(哪怕只有一条匹配数据也是集合类型),不能直接在模板中调用外键关联属性,需要先取出单个实例。
修改views.py中的logo视图:

def logo(request):
    ip = get_client_ip(request)
    # 取当前IP对应的第一条选中记录,无匹配则返回None避免报错
    select = MasinaSelectata.objects.filter(clientip = ip).first()
    context = { 'select': select}
    return render(request, 'navbar.html', context)

2. 模板层错误修复

你的模板代码存在两处错误:

  • 直接对QuerySet调用外键属性,获取不到数据
  • alt属性的字段路径写错,且普通文本字段不需要加.url后缀
    同时建议增加空值判断,避免没有选中记录、或者图片未上传时抛出异常。
    修改navbar.html代码:
<div class="col-lg-2 col-md-3 col-6 ">
 <!-- logo marca-->
 <div class="img-fluid">
 {% if select and select.constructor.logo_constructor %}
 <img src="{{ select.constructor.logo_constructor.url }}" alt="{{ select.constructor.constructor_nume }}">
 {% endif %}
 <!-- 如果要展示车型图片可以加下面这段 -->
 {% if select and select.model.imagine_model %}
 <img src="{{ select.model.imagine_model.url }}" alt="{{ select.model.model_nume }}">
 {% endif %}
 </div>
</div>

内容的提问来源于stack exchange,提问作者Daniel Rusu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 19:48:02