2016-05-10 14 views
0

Я начинаю дэнго. Я просто хочу публиковать и регистрировать пользователя. Если я это сделаю, у меня возникла ошибка «CSRF Failed: токен CSRF отсутствует или неверен». Мой apiview такой.Django зарегистрировать пользователя и токен CSRF

class RegistrationView(APIView): 
    """ Allow registration of new users. """ 
    permission_classes = (permissions.AllowAny,) 

    def post(self, request): 
     serializer = RegistrationSerializer(data=request.DATA) 
     # Check format and unique constraint 
     if not serializer.is_valid(): 
      return Response(serializer.errors,\ 
          status=status.HTTP_400_BAD_REQUEST) 
     data = serializer.data 

     # u = User.objects.create_user(username=data['username'], 
     #        email=data['email'], 
     #        password='password') 

     u = User.objects.create(username=data['username']) 
     u.set_password(data['password']) 
     u.save() 

     # Create OAuth2 client 
     name = u.username 
     client = Client(user=u, name=name, url='' + name,\ 
       client_id=name, client_secret='', client_type=1) 
     client.save() 
     return Response(serializer.data, status=status.HTTP_201_CREATED) 

Я прочитал токен CSRF.

How to make a POST simple JSON using Django REST Framework? CSRF token missing or incorrect

В моем setting.py, это так. Нужно ли меняться на глобальном уровне? или где я должен изменить, чтобы у меня не было ошибки токена CSRF при регистрации нового пользователя?

REST_FRAMEWORK = { 

    'DEFAULT_AUTHENTICATION_CLASSES': 
     ('rest_framework.authentication.OAuth2Authentication', 
     'rest_framework.authentication.SessionAuthentication'), 

    'DEFAULT_MODEL_SERIALIZER_CLASS': 
     'rest_framework.serializers.ModelSerializer', 

    'DEFAULT_PERMISSION_CLASSES': 
    ('rest_framework.permissions.IsAdminUser',) 
} 

ответ

Смежные вопросы