Django服务端数据库数据未在checkout.html模板显示问题求助
问题原因
你的问题出在views.py的checkout视图函数中,存在两处明显错误:
- 函数下的逻辑代码没有正确缩进,不符合Python基础语法要求
- 虽然已经完成了订单
order、订单项items的数据查询逻辑,但没有将这两个变量传入上下文对象,直接传递空字典到模板层,导致checkout.html无法读取到items变量,自然无法渲染对应的商品列表。
解决方案
直接修改views.py中的checkout函数,修正缩进问题、补全上下文传参即可,修改后的完整代码如下:
def checkout(request): # 修正代码缩进 if request.user.is_authenticated: customer = request.user.customer order, created = Order.objects.get_or_create(customer = customer, complete = False) items = order.orderitem_set.all() else: items = [] order = {'get_cart_total':0, 'get_cart_items':0} # 把查询到的items、order加入上下文 context = {'items':items, 'order':order} return render(request, 'store/checkout.html', context)
修改完成后重启服务,checkout页面即可正常渲染购物车商品数据。
内容的提问来源于stack exchange,提问作者Francisco Azocar
相关产品推荐
相关产品推荐

