Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

155
Vistas
El servidor Django no muestra la información de la base de datos en la plantilla html

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.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

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.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda