Hi, I thought I'd just put in a pull-request but there are quite a few hoops to jump through. Which is great for quality, but bad for a noob like me.
Said noob as spent quite some time staring at this error-message here before I figured out what was wrong: Environment: Request Method: GET Request URL: http://127.0.0.1:8000/sendEmail/ Django Version: 1.11.1 Python Version: 3.4.6 Installed Applications: ... Installed Middleware: ... Traceback: File "/home/me/code/venv/lib/python3.4/site-packages/django/core/handlers/exception.py" in inner 41. response = get_response(request) File "/home/me/code/venv/lib/python3.4/site-packages/django/core/handlers/base.py" in _get_response 187. response = self.process_exception_by_middleware(e, request) File "/home/me/code/venv/lib/python3.4/site-packages/django/core/handlers/base.py" in _get_response 185. response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/home/me/code/venv/lib/python3.4/site-packages/django/views/decorators/csrf.py" in wrapped_view 58. return view_func(*args, **kwargs) File "/home/me/code/venv/lib/python3.4/site-packages/django/views/generic/base.py" in view 68. return self.dispatch(request, *args, **kwargs) File "/home/me/code/venv/lib/python3.4/site-packages/rest_framework/views.py" in dispatch 496. response = self.handle_exception(exc) File "/home/me/code/venv/lib/python3.4/site-packages/rest_framework/views.py" in handle_exception 456. self.raise_uncaught_exception(exc) File "/home/me/code/venv/lib/python3.4/site-packages/rest_framework/views.py" in dispatch 484. self.initial(request, *args, **kwargs) File "/home/me/code/venv/lib/python3.4/site-packages/rest_framework/views.py" in initial 402. self.check_permissions(request) File "/home/me/code/venv/lib/python3.4/site-packages/rest_framework/views.py" in check_permissions 334. for permission in self.get_permissions(): File "/home/me/code/venv/lib/python3.4/site-packages/rest_framework/views.py" in get_permissions 275. return [permission() for permission in self. permission_classes] Exception Type: TypeError at /sendEmail/ Exception Value: 'type' object is not iterable I finally noticed that permission_classes = (IsAuthenticated) # Just a stupid class does not equal permission_classes = (IsAuthenticated,) # a set with a class in it As a solution, I offer this code-snippet, which would go here. <https://github.com/encode/django-rest-framework/blob/71ad99e0b276a90d0552d8936944293985fd8421/rest_framework/views.py#L270> Anyone is free to grab and stick through all these hoops into the DRF. def get_permissions(self): """ Instantiates and returns the list of permissions that this view requires. """ try: return [permission() for permission in self.permission_classes] except TypeError as e: raise TypeError("Make sure your view's 'permission_classes' are iterable. " +"If you use '()' to generate a set with a single element " +"make sure that there is a comma behind the one (element,).") from e I fear it will not work in Python2, which is a requirement, right? But surely more experienced coders can make something similar, that will. Cheers! chris :) -- You received this message because you are subscribed to the Google Groups "Django REST framework" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
