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

419
Vistas
Recuperar: no se proporcionaron las credenciales de autenticación

Cuando solicito esto, todo está bien y obtengo los datos:

 const get_players = async()=>{ const response = await fetch('http://127.0.0.1:8000/player_stats/api/players/') const data = await response.json() console.log(data) }

Pero cuando pongo permisos_clases en vistas.py, recibo esto en la consola:

 {detail: 'Authentication credentials were not provided.}

Soy un principiante en Javascript, así que espero que puedas entender.
No sé cómo poner las credenciales de autenticación en mi fech.

Vistas.py

 class PlayersView(ModelViewSet): permission_classes = [IsAuthenticated] serializer_class = PlayersSerializer queryset = Players.objects.all() def list(self, request): queryset = Players.objects.all() serializer = PlayersSerializer(queryset, many=True) return Response(serializer.data) def retrieve(self, request, pk=None): queryset = Players.objects.all() qs = get_object_or_404(queryset, pk=pk) serializer = PlayersSerializer(qs) return Response(serializer.data)

Urls.py

 router = DefaultRouter() router.register('players',views.PlayersView,basename='players') app_name = 'main' urlpatterns = [ path('',include(router.urls)), ]

¿Alguna idea?

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

0

su clase de vista nos dice que no puede acceder a esta página a menos que el usuario esté autenticado (iniciado sesión), le sugiero que, en caso de que esté utilizando la autenticación predeterminada de Django (autenticación de sesión), obtenga la cookie almacenada en el almacenamiento local de esta manera: localStorage.getItem('csrf') y luego configure la identificación de sesión: localStorage.setItem('session_id',res.data.session_id) (esto es solo un ejemplo ficticio, no tengo idea de cómo configura su identificación de sesión en el backend) cuando recibe una respuesta en la interfaz, o si está utilizando token auth (como jwt), debe agregar a los encabezados: headers: {'Authorization': Token ${apiToken}} , uno de los excelentes módulos jwt para drf y tan fácil de el uso con diferentes puntos finales es drf-simplejwt , más información: https://django-rest-framework-simplejwt.readthedocs.io/en/latest/

en una nota al margen: no sugeriría usar la autenticación predeterminada de django, ya que es difícil de manejar, especialmente en el lado frontal

about 4 years ago · Juan Pablo Isaza Denunciar

0

El usuario detrás del navegador que ejecuta la búsqueda debe estar autenticado, es decir. conectado. Hay varias formas de hacerlo. Referirse a:

https://www.django-rest-framework.org/api-guide/authentication/

Pero básicamente, SessionAuthentication usará el sistema de inicio de sesión de usuario de Django, y si desea acceder a la API sin iniciar sesión, puede usar TokenAuthentication , en cuyo caso, debe agregar un encabezado HTTP a su solicitud de búsqueda.

 const get_players = async() =>{ const response = await fetch('http://127.0.0.1:8000/player_stats/api/players/', { headers: { 'Authorization': `Token ${apiToken}` } }) const data = await response.json() console.log(data) }
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