Я начинаю дэнго. Я просто хочу публиковать и регистрировать пользователя. Если я это сделаю, у меня возникла ошибка «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',)
}