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

Django模板代码不执行:商品列表无法显示的问题求助

问题解决办法

你的问题出在变量名不匹配和字段名错误两个地方:

1. 视图与模板的变量名不一致

在views.py的store_home函数中,你把列表数据传入模板时用的键是listing:

context = {'listing': listings}

但模板store_home.html里循环时用的是listings:

{% for listing in listings %}

Django找不到名为listings的上下文变量,所以循环根本不会执行。

修改views.py,把context的键改成listings:

def store_home(request):
    context = {'listings': listings}  # 这里把listing改成listings
    return render(request, 'store/store_home.html', context)

2. 模板里的字段名错误

你的模拟数据里的商品名称字段是title:

listings = [
    {
        'seller': 'ABCDEFG',
        'title': 'Something to sell',  # 字段是title
        'date_posted': '28th August 3030'
    }
]

但模板里用的是listing.item,这个字段不存在,就算循环执行了也显示不出内容。

修改store_home.html,把item改成title:

{% for listing in listings %}
    <p>{{ listing.title }}</p>  <!-- 这里把item改成title -->
{% endfor %}

额外验证(可选)

可以在模板里加个判断,确认数据是否正确传入:

<h1>DaftPrices Store Homepage</h1>
{% if not listings %}
    <p>No listings available.</p>
{% else %}
    {% for listing in listings %}
        <p>{{ listing.title }}</p>
    {% endfor %}
{% endif %}

这样修改后,页面就能正常显示商品列表了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 02:06:24