Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 1, 2016 15:54:50

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

rest_framewort, permissions

С праздником, господа!
Имеем:
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',
    )
}

views
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)

Нужно организать доступ к этому классу ВСЕМ юзерям, а не только авторизированым.
Спасибо за ответы.

Офлайн

#2 Апрель 1, 2016 21:36:30

ZAN
От:
Зарегистрирован: 2007-06-10
Сообщения: 403
Репутация: +  10  -
Профиль   Отправить e-mail  

rest_framewort, permissions

А в чем проблема, собственно?
AllowAny всегда возвращает True для любого пользователя. С таким же успехом можно его не выставлять вообще.
Если у ваш через веб интерфейс не работает, то тут проблема в том, что юзаете request.POST вместо request.data.



Офлайн

#3 Апрель 4, 2016 10:48:53

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

rest_framewort, permissions

Возвращает такое:

{"detail":"Authentication credentials were not provided."}

Офлайн

#4 Апрель 4, 2016 11:03:18

plusplus
От:
Зарегистрирован: 2009-01-05
Сообщения: 418
Репутация: +  15  -
Профиль   Отправить e-mail  

rest_framewort, permissions

Нужно убрать TokenAuthentication



Офлайн

#5 Апрель 4, 2016 11:18:18

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

rest_framewort, permissions

Хорошо я уберу его. А к другим вьюхам как достучатся з использованием токенов?

Офлайн

#6 Апрель 4, 2016 11:35:45

helm2004
От: Украина, Винница
Зарегистрирован: 2008-02-27
Сообщения: 630
Репутация: +  9  -
Профиль   Отправить e-mail  

rest_framewort, permissions

Господа, как всегда бывает - я лоханулся. Пропустил “о” в permissin_classes. Всех благодарю.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version