Estoy intentando hacer un ecommerce y al crear la base de datos no se actualiza en el checkout.html. página. Debajo del código.
views.py
def cart(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} context = {'items':items, 'order':order} return render(request, 'store/cart.html', context) 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} context = {} return render(request, 'store/checkout.html', context) checkout.html
{% for item in items %} <div class="cart-row"> <div style="flex:2"><img class="row-image" src="{{item.product.imageURL}}"></div> <div style="flex:2"><p>{{item.product.name}}</p></div> <div style="flex:1"><p>${{item.product.price|floatformat:2}}</p></div> <div style="flex:1"><p>x{{item.quantity}}</p></div> </div> {% endfor %}funciona para cart.html pero no funciona para checkout.html y no se muestran errores para buscar. Cualquier ayuda será apreciada.
El contexto está vacío. El contexto es un diccionario donde los nombres de las variables utilizadas en la plantilla se asignan a los valores correspondientes.
Si desea pasar items a la plantilla, escriba:
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} # pass items ↓ pass order ↓ context = { 'items': items , 'order': order } return render(request, 'store/checkout.html', context) Aquí los items serán un conjunto de consultas vacío, ya que toma el orderitem_set de la order , pero en ese momento no creó un objeto OrderItem que esté vinculado a esa Order , por lo que probablemente primero deba crear OrderItem s para la order creada.