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

234
Vistas
Django request.session no funciona correctamente

estoy creando una aplicación web y estoy usando ajax para enviar los datos de frontend a backend para poder procesar los formularios y guardarlos en la base de datos. Envío los datos de ajax a un método de obtención de datos y desde allí los guardo en la sesión, y cuando accedo a la página /success e intento obtener los mismos datos de la sesión, me dice que la clave no existe . ¿Cómo es eso posible? Aquí está el código abajo.

 $.ajax({ type: "POST", url: "/get-data/", data: JSON.stringify(obj), dataType: "text", headers: { "X-CSRFToken": getCookie("csrftoken") }, success: function (response) { console.log("success"); // i get this, so i it means that the ajax works properly. }, error: function (response, err, err2) { console.log(err2); }, });
 def get_data(request): if request.method == "POST": if is_ajax(request): rec_data = json.loads(request.body) print("the request came") request.session["data_check_form"] = rec_data print("everything set") print(request.session["data_check_form"]) # i print this and i get the json file properly return JsonResponse({"success": "200"})
 def success_view(request): print("test") data = request.session.get("data_check_form", False) print(data) # i get false ...
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Use request.session.modified = True después de cualquier cambio en la session como

 def get_data(request): if request.method == "POST": if is_ajax(request): rec_data = json.loads(request.body) print("the request came") request.session["data_check_form"] = rec_data request.session.modified = True print("everything set") print(request.session["data_check_form"]) # i print this and i get the json file properly return JsonResponse({"success": "200"})

O puede configurar SESSION_SAVE_EVERY_REQUEST en True en settings.py , lo que guardará la sesión en la base de datos en cada solicitud como se indica

Para cambiar este comportamiento predeterminado, establezca la configuración SESSION_SAVE_EVERY_REQUEST en True. Cuando se establece en True, Django guardará la sesión en la base de datos en cada solicitud.

about 4 years ago · Juan Pablo Isaza 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