Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

184
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!