字典未传递到模板django

字典未传递到模板django,django,django-views,django-templates,Django,Django Views,Django Templates,我试图读取cookie并将数据传递到模板中,但它在模板上返回字符串/cart view.py def cart(request): # exception no cookie named 'cart' try: cart = json.loads(request.COOKIES['cart']) except: cart = {} context = { 'data': [], 'cart': ca

我试图读取cookie并将数据传递到模板中,但它在模板上返回字符串
/cart

view.py

def cart(request):
    # exception no cookie named 'cart'
    try:
        cart = json.loads(request.COOKIES['cart'])
    except:
        cart = {}

    context = {
        'data': [],
        'cart': cart,
    }

    for item in cart:
        product_detail = ProductImage.objects.select_related(
                            'product'
                         ).filter(product=item[0], place='Main Product Image')
        
        context['data'].append(product_detail)

    return render(request, 'store/cart.html', context)
我已经检查了
cart
变量是否包含数据,它是否包含字典。以下是
上下文
变量

 {'data': [<QuerySet [<ProductImage: Product 1-22>]>], 'cart': {'1': {'unit_price': '980.00', 'quantity': 3}}}
所以希望知道这里发生了什么事,提前谢谢

更新(wierd场景)


同样的事情在另一个文件中再次发生,我尝试执行上面提到的解决方案。不幸的是,它不起作用。经过几个小时的尝试,我决定将dict
{'cart':cart,…}
的键重命名为
{'crt':cart}
,它成功了。

如果要在模板中传递上下文dict变量。您需要做的只是:

return render(request, 'store/cart.html', {'context' : context})
通过这个,我们将上下文传递给html模板。您可以通过以下方式检索上下文数据:

{{context.cart}}

你能用模板的片段更新问题吗?@ShivendraPratapKushwaha done。。。{{cart}}仅用于调试。您可以像“return render(request,'store/cart.html',{'context':context}”那样进行渲染,或者像{context.cart}那样在模板中进行获取。。。检查是否有效…有效:)可以检索dict,但为什么?怎么做?你能解释一下吗?
{{context.cart}}