Django视图上下文无法传递至模板问题求助
问题解决
核心问题:模板变量未正确渲染
你的模板里直接写了item.product.product_name字符串,Django模板无法识别这是变量,必须用双大括号{{ }}包裹变量才能输出实际值:
修改后的模板代码:
{% extends 'base.html' %} {% load static %} {% block content %} {% for item in cart_items %} <h1>{{ item.product.product_name }}</h1> {% endfor %} {% endblock %}
额外的视图代码问题
- 拼写错误:视图中
cart_item.quality是笔误,应该是cart_item.quantity,且原代码中quantity = cart_item.quality的写法会只保留最后一个购物车项的数量,正确的累加写法如下:
for cart_item in cart_items: total += (cart_item.product.price * cart_item.quantity) # 修正quality为quantity quantity += cart_item.quantity # 累加所有购物车项的数量
- 异常处理过于宽泛:
except:会捕获所有异常,容易隐藏其他潜在错误,建议改为捕获特定异常:
try: cart = Cart.objects.get(cart_id=_cart_id(request)) # ... 其他代码 except Cart.DoesNotExist: pass
内容的提问来源于stack exchange,提问作者Sohanoor Rahman
相关产品推荐
相关产品推荐

