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

Django项目模板渲染数据库产品列表仅显示标题如何解决

问题根源

视图函数传递给模板的上下文键名与模板中使用的变量名不匹配:

  • 你在index视图里给模板传的上下文键为product,对应产品查询集
  • 模板中for循环遍历的变量为products,找不到对应变量时Django模板默认静默跳过该循环,因此没有列表内容输出

解决方案(二选一即可)

  1. 修改视图上下文键名,和模板变量匹配
    将index函数中的render语句调整为:
def index(request):
    products = Product.objects.all()
    return render(request, 'index.html',
                  {'products': products})
  1. 修改模板循环变量,和视图传参键匹配
    将HTML中的循环逻辑调整为:
<ul>
    {% for product in product %}
        <li>{{ product.name }}</li>
    {% endfor %}
</ul>

额外注意点

你的new_products函数中使用了HttpResponse,需要确认视图文件顶部已经导入该类,否则访问对应路由会报错:

from django.http import HttpResponse

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:36:05