Thanks, Jorge Gimeno this is working fine.

On Fri, Feb 14, 2020 at 9:19 AM Jorge Gimeno <[email protected]> wrote:

>
>
> On Thu, Feb 13, 2020 at 7:16 PM Bhoopesh sisoudiya <[email protected]>
> wrote:
>
>> Hi all,
>>
>> How to resolve this exception in generic view of rest-framework- api
>> Exception===================
>> 2020-02-14 08:30:33,523 - D:\futuredatapoints\futuredatapoints\logs\
>> 14022020.log - ERROR
>> ERROR:D:\futuredatapoints\futuredatapoints\logs\14022020.log:
>> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Exception
>>  Start %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
>> 2020-02-14 08:30:33,523 - D:\futuredatapoints\futuredatapoints\logs\
>> 14022020.log - ERROR
>> 2020-02-14 08:30:33,523 - D:\futuredatapoints\futuredatapoints\logs\
>> 14022020.log - ERROR
>> ERROR:D:\futuredatapoints\futuredatapoints\logs\14022020
>> .log:Traceback (most recent call last):
>>   File
>> "D:\futuredatapoints\env\lib\site-packages\django\core\handlers\base.py"
>> , line 124, in _get_response
>>
>>     response = wrapped_callback(request, *callback_args, **callback_kwargs)
>>   File
>> "D:\futuredatapoints\env\lib\site-packages\django\views\decorators\csrf.py"
>> , line 54, in wrapped_view
>>     return view_func(*args, **kwargs)
>>   File
>> "D:\futuredatapoints\env\lib\site-packages\django\views\generic\base.py"
>> , line 68, in view
>>     return self.dispatch(request, *args, **kwargs)
>>   File
>> "D:\futuredatapoints\env\lib\site-packages\rest_framework\views.py"
>> , line 479, in dispatch
>>     request = self.initialize_request(request, *args, **kwargs)
>>   File
>> "D:\futuredatapoints\env\lib\site-packages\rest_framework\views.py"
>> , line 380, in initialize_request
>>     authenticators=self.get_authenticators(),
>>   File
>> "D:\futuredatapoints\env\lib\site-packages\rest_framework\views.py"
>> , line 274, in get_authenticators
>>     return [auth() for auth in self.authentication_classes]
>>   File
>> "D:\futuredatapoints\env\lib\site-packages\rest_framework\views.py"
>> , line 274, in <listcomp>
>>     return [auth() for auth in self.authentication_classes]
>> TypeError: 'list' object is not callable
>>
>> WARNING:django.request:Bad Request: /api/send/otp/
>>
>>
>> url====== ===========================================================
>> url(r'^api/send/data/$',UserViewSetCustom.as_view(),name=
>> 'user-view-set-custom'),
>>
>>
>>  view generic class ================
>> class UserViewSetCustom(generics.CreateAPIView):
>>     """
>>     A simple CreateAPIView that for sending otp for user.
>>     """
>>     # permission_classes = (AllowAny,)
>>     authentication_classes = [TokenAuthentication,],
>>     queryset = User.objects.all()
>>     def create(self, request):
>>         print("*******")
>>         return Response(
>>             data=jsonResponse([],
>>             msg=Message.getMessage('NOT_ALLOWED'),
>>             status=status.HTTP_200_OK),
>>             status=status.HTTP_200_OK,
>>             )
>>
>> Thanks
>> Bhoopesh Sisoudiya
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/django-users/CAAk3c1N0JBOFkF7tyMLJdMY3bh3H54r-QVh6_x-KW9peaRo9dA%40mail.gmail.com
>> <https://groups.google.com/d/msgid/django-users/CAAk3c1N0JBOFkF7tyMLJdMY3bh3H54r-QVh6_x-KW9peaRo9dA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>
> I did some experimenting in the Python shell.   What I found is this:
>
>  jlgimeno@jlgimeno-Lenovo-G50-45  ~  python3.8
> Python 3.8.1 (default, Dec 31 2019, 11:21:33)
> [GCC 9.2.1 20191008] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> a = [1]
> >>> b = [1,]
> >>> c = [1,],
> >>> a
> [1]
> >>> b
> [1]
> >>> c
> ([1],)
>
> The variables a and b are both lists with a single object, but c is
> different.  It is a tuple, with the first (and only) element is a list.  c
> is similar to your authentication_classes variable in your view because of
> that trailing comma which makes it a tuple.  As you can see in the last two
> lines of your traceback, django rest framework is trying to get a list of
> authenticators using a list comprehension, by calling each class that is an
> element of self.authentication_classes.  It's not getting a callable back,
> it's getting back a list.  Lists are not callables, and so Python raises an
> exception.
>
> To fix this, remove the trailing comma in your authentication_classes
> variable like so:
> authentication_classes = [TokenAuthentication,]
>
> That should work. Hope this helped!
>
> -Jorge
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/CANfN%3DK-juSt_MBYz3c7vvj%3DFmdA8iFpMhCQOO6u85Sgrj2dYLw%40mail.gmail.com
> <https://groups.google.com/d/msgid/django-users/CANfN%3DK-juSt_MBYz3c7vvj%3DFmdA8iFpMhCQOO6u85Sgrj2dYLw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAAk3c1MbwKh3%3D34VNyzs17hPMs-12_C1593hZUdAow-LnS7huA%40mail.gmail.com.

Reply via email to