Ключевая ошибка при попытке зарегистрировать пользователя Django
Получаю ошибку ключа "password" в serializer.py при проверке данных.
Я использую встроенную в Django модель User и аутентификацию Token для регистрации пользователя.
вот как выглядит мой serializer.py.
from django.contrib.auth.models import User
from rest_framework import serializers
class RegistrationSerializer(serializers.Serializer):
password2 = serializers.CharField(style={"input_type" : "password"}, write_only=True)
class Meta:
model = User
fields = ["username", "email", "password", "password2"]
extra_kwarg = {
"password": {
"write_only": True,
}
}
def validate(self, data):
if data["password"] != data["password2"]:
return serializers.ValidationError("Your password must be same!")
if data.objects.filter(email=data["email"]).exists():
return serializers.ValidationError("This Email is already registered!")
return data
views.py
from rest_framework.response import Response
from user_app.api.serializer import RegistrationSerializer
from rest_framework.decorators import api_view
@api_view(["POST",])
def register_user(request):
if request.method == "POST":
serializer = RegistrationSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data)
else:
return serializer.error_messages()```
Errors
serializer.py", строка 22, in validate if data["password"] != data["password2"]: KeyError: 'password'