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

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

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 Report

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 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!