Форум сайта python.su
С праздником, господа!
Имеем:
django-1.9.4
Django REST framework 3.3.3
Postgres 9.5
settings
REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', 'rest_framework.permissions.AllowAny', ), 'DEFAULT_AUTHENTICATION_CLASSES': ( 'rest_framework.authentication.BasicAuthentication', 'rest_framework.authentication.SessionAuthentication', 'rest_framework.authentication.TokenAuthentication', ) }
class ClientsAPIView(APIView): permissin_classes = ( AllowAny, # Or anon users can't register ) def post(self, request,format=None): post = request.POST try: user = Client.objects.create_user(post['email'],post['password']) except IntegrityError: return Response({'error':'blalala'}) serializer = ClientSerializer(user) return Response(serializer.data)
Офлайн
А в чем проблема, собственно?
AllowAny всегда возвращает True для любого пользователя. С таким же успехом можно его не выставлять вообще.
Если у ваш через веб интерфейс не работает, то тут проблема в том, что юзаете request.POST вместо request.data.
Офлайн
Возвращает такое:
{"detail":"Authentication credentials were not provided."}
Офлайн
Нужно убрать TokenAuthentication
Офлайн
Хорошо я уберу его. А к другим вьюхам как достучатся з использованием токенов?
Офлайн
Господа, как всегда бывает - я лоханулся. Пропустил “о” в permissin_classes. Всех благодарю.
Офлайн