• Jobs
  • About Us
  • Jobs
    • Home
    • Jobs
    • Courses and challenges
  • Businesses
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

254
Views
El usuario actual de Django es AnonymousUser

Tengo un problema bastante simple. Tengo una clase que amplía APIView para pasar una respuesta Json a una URL que se usará como API. Estoy tratando de filtrar datos de un modelo para obtener solo elementos de datos que pertenecen al usuario actual. Debido a esto, estoy tratando de acceder a request.user.id para configurar mi filtro.

Desde mi views.py, aquí hay un fragmento del código que estoy usando:

 class ChartData(APIView): authentication_classes = [] permission_classes = [] def get(self, request, format=None): print(self.request.user)

Cuando voy a la URL asociada con esta clase, la declaración de impresión devuelve AnonymousUser, como si el usuario no existiera.

En el mismo archivo views.py tengo otro método (no dentro de ninguna clase) configurado de la siguiente manera:

 @login_required def LogDisplay(request): print(request.user.id)

Sin embargo, cuando voy a la URL asociada con este método, obtengo un número entero como salida en mi consola.

¿Cómo puedo hacer que mi primer método también tenga acceso al usuario actual?

over 3 years ago · Santiago Trujillo
1 answers
Answer question

0

Estás cerca.

en configuración.py:

 REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ) }

en vistas.py:

 from rest_framework.permissions import IsAuthenticated class ChartData(APIView): authentication_classes = [] permission_classes = [IsAuthenticated, ] get(self, request, format=None): ...
over 3 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Show me some job opportunities
There's an error!