Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

187
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda