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

536
Vistas
AttributeError: el objeto 'WSGIRequest' no tiene el atributo 'is_ajax'

Estoy tratando de aprender ajax en django, pero cuando ejecuto esta prueba simple, aparece este error y no puedo encontrar el motivo, mi versión de django es 4.0.

 AttributeError: 'WSGIRequest' object has no attribute 'is_ajax'

ver.py

 from django.shortcuts import render, HttpResponse def home(request): return render(request,'myapp/index.html') def ajax_test(request): if request.is_ajax(): message = "This is ajax" else: message = "Not ajax" return HttpResponse(message)

urls.py

 urlpatterns = [ path('',views.home,name='home'), path('ajax_test/', views.ajax_test, name='ajax_test') ]

índice.html

 <button id="btn">click me!</button> <script> $("#btn").click(function () { $.ajax({ type: "GET", url: "{% url 'ajax_test' %}", success: function () { console.log("done"); }, error: function () { console.log("error"); }, }); }); </script>
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

De las notas de la versión 3.1

El método HttpRequest.is_ajax() está en desuso porque se basaba en una forma específica de jQuery de significar las llamadas AJAX, mientras que el uso actual tiende a usar la API de recuperación de JavaScript. Según su caso de uso, puede escribir su propio método de detección de AJAX o usar el nuevo método HttpRequest.accepts() si su código depende del encabezado HTTP Accept del cliente.

Aunque ha quedado en desuso, puede crear una función personalizada para verificar el tipo de solicitud como,

 def is_ajax(request): return request.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'

y usar en cualquier lugar de su vista como,

 from django.shortcuts import HttpResponse def is_ajax(request): return request.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest' def ajax_test(request): if is_ajax(request=request) : message = "This is ajax" else: message = "Not ajax" return HttpResponse(message)
over 4 years ago · Santiago Trujillo Denunciar

0

Para completar la respuesta JPG basada en las notas de la versión 3.1

request.is_ajax() se puede reproducir exactamente como request.headers.get('x-requested-with') == 'XMLHttpRequest'

El objeto de request utilizado por Django es como solicitudes . Puede identificar una solicitud AJAX cuando su cliente usa el encabezado específico x-requested-with establecido con XMLHttpRequest .

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