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

190
Vistas
Botón Django como Sin actualización de página usando Ajax y Cargar página html con información ajax

Estoy haciendo un proyecto que tiene un botón Me gusta o No me gusta para cada publicación en la página web. Pero cuando hago clic en me gusta, aparece una página que se ve así ( http://127.0.0.1:8000/give_like/2 ): {"post_to_like": 2}

 view.py def give_like(request, post_to_like): like = Likes(user=request.user, post = Post.objects.get(id=post_to_like)) checker = [like.post_id for like in Likes.objects.filter(user = request.user)] if post_to_like in checker: Likes.objects.filter(post_id=post_to_like, user = request.user).delete() else: like.save() return JsonResponse({'post_to_like':post_to_like})

¿Cómo cargar toda la página correctamente como html pero sin volver a cargar toda la página y obtener información de que ya sigo esta publicación, por lo que debería ver el botón No me gusta y el resto de la página?

 js.js var like = document.getElementById("like"); likeDislike(like, function() { fetch(`/give_like/${like.dataset.post_to_like}`) .then(response => response.json()) .then(data => { like.querySelector('small').innerHTML = data.total_likes; }); } );
 index.html <small><p id="total_likes" > {{post.current_like}} </p></small>
 urls.py path("give_like/<int:post_to_like>", views.give_like, name="give_like"),
about 4 years ago · Juan Pablo Isaza
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