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

Django电商网站开发问题:向index.html传递两个上下文失效

问题原因与解决方法

你的代码问题出在**render函数的参数使用错误**:Django的render函数仅能接受一个上下文字典作为第三个参数,你传入的第二个字典category会被识别为content_type参数,导致模板无法获取category数据,甚至引发参数类型错误,最终页面无法正常工作。

正确写法(二选一即可)

方法1:合并上下文字典

from django.shortcuts import render, HttpResponse,redirect
from .models import *

# Create your views here.
def index(request):
    products = Product.objects.all()
    categories = Category.objects.all()
    
    params = {'product': products}
    params.update({'category': categories})  # 合并两个字典
    
    return render(request, 'index.html', params)

方法2:直接创建包含所有数据的上下文字典

from django.shortcuts import render, HttpResponse,redirect
from .models import *

# Create your views here.
def index(request):
    products = Product.objects.all()
    categories = Category.objects.all()
    
    context = {
        'product': products,
        'category': categories
    }
    
    return render(request, 'index.html', context)

修改后,index.html就能同时获取到product和category两个上下文数据了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 08:39:50