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

Django模型数据无法在模板显示:无报错但模型存有数据

Django模板无法渲染Product模型数据的解决方案

嘿,我一眼就发现问题所在了——你的视图代码里的上下文变量名多了一个空格,这直接导致模板里的object_list找不到对应的数据!

问题根源

看你views.py里的这段代码:

return render(request, 'index.html', {'object_list ': object_list})

注意字典的键object_list 末尾有个空格,但你在模板index.html里用的是没有空格的object_list。Django模板对不存在的变量默认会静默忽略(不会报错,也不输出内容),这就解释了为什么页面空白且没有错误日志。

修复步骤

只需要把视图里的上下文字典键的空格去掉即可:

def list_products(request):
    object_list = Product.objects.all()
    # 去掉键名末尾的空格
    return render(request, 'index.html', {'object_list': object_list})

额外排查建议(以防后续遇到类似问题)

  • 确认模型有数据:打开Django Shell运行Product.objects.all(),检查是否返回非空的QuerySet
  • 模板语法检查:确保你的{% for %}循环语法正确,另外可以在循环外加个测试文本(比如<p>测试内容</p>),验证模板是否被正确加载
  • 视图映射验证:你的urls.py已经把根路径指向了list_products视图,这部分是没问题的

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 07:54:09