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

189
Vistas
Cómo acceder a una API de Django rest Framework desde React

Empecé a usar django recientemente y también traté de usar React js y quería hacer algo simple como una barra de navegación en React. Tengo cuentas e inicio de sesión implementado usando formularios django que funcionan bien. Para la navegación, necesitaría obtener la información del usuario que tengo en una API DRF de la siguiente manera en el archivo de vistas:

 @api_view(['GET']) @authentication_classes((SessionAuthentication, TokenAuthentication)) @ensure_csrf_cookie @permission_classes((IsAuthenticated,)) def user_details_view(request, *args, **kwargs): #REST API for detailing some basic info about the user that is using the system at the moment current_user = request.user id = current_user.id status = 200 try: obj = CustomUser.objects.get(id=id) data = UserSerializer(obj) return Response(data.data, status=status) except: status = 404 return Response(status=404) return Response(data.data, status=status)

Las direcciones URL están configuradas y si accedo a ellas en el servidor django, funciona bien, pero cuando intento reaccionar de la siguiente manera:

 function loadUserInfo(callback){ const xhr = new XMLHttpRequest(); const method = 'GET'; const url = "http://127.0.0.1:8000/userdetails/"; const responseType = "json"; xhr.responseType = responseType; // Let the xhr request know that its getting a json xhr.open(method, url); //This opens the request with the method and url entered xhr.onload = function(){ console.log("This is the response: ",xhr.response) callback(xhr.response, xhr.status) } xhr.onerror = function(){ callback({"message":"The request was an error"}, 400) } xhr.send();//Trigger that request }

Yo obtengo:

 GET http://127.0.0.1:8000/userdetails/ 403 (Forbidden) This is the response: {detail: 'Authentication credentials were not provided.'}

¿Cómo puedo hacer que React acceda a los datos? Solo necesito tener algunos componentes menores hechos por reaccionar y también tenerlo para que si lo abro en otro navegador pueda iniciar sesión con un usuario diferente. He buscado en muchos recursos, pero no parecen funcionar para mi caso. Estoy usando el servidor Django.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Debe obtener el token de autenticación en su aplicación de reacción. El token se genera una vez que inicia sesión en Django desde la aplicación de reacción, y luego debe pasar ese token junto con el método get.

 axios .get('http://www.exapmle.com', { headers: { Authorization: `Token ${props.token}`, }, })

o en su aplicación Django, establezca la clase de permiso como cualquiera para ese modelo, o elimine IsAuthenticated de la clase de permiso.

 permission_classes = [IsAuthenticated]
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