Здравствуйте, я хочу создать простой регистрационный API для моего django rest api
Но когда я хочу проверить регистрацию с помощью curl, я всегда получаю эту ошибку:
{"username": ["Это поле обязательно для заполнения."], "password": ["Это поле обязательно для заполнения."]}
Это мой curl cmd:
curl --request POST --url http://localhost:8000/auth/register/ --header 'content-type: application/json' --data '{"username": "user1","password": "hunter2"}'
views.py RegistrationApi
class RegistrationAPI(generics.GenericAPIView):
serializer_class = CreateUserSerializer
def post(self, request, *args, **kwargs):
serializer = self.get_serializer(data=request.data)
serializer.is_valid(raise_exception=True)
user = serializer.save()
return Response({
"user": UserSerializer(user, context=self.get_serializer_context()).data,
"token": AuthToken.objects.create(user)
})
serializers.py
class CreateUserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username', 'password')
extra_kwargs = {'password': {'write_only': True}}
def create(self, validated_data):
user = User.objects.create_user(validated_data['username'],
None,
validated_data['password'])
return user
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = ('id', 'username')
Может, что-то не так с сериализаторами? Я уже пытался выяснить, где проблема, но я не могу ее найти