Я получаю ошибку Assertion в представлениях моего проекта django
AssertionError: Ожидалось, что из представления будет возвращено Response
, HttpResponse
или HttpStreamingResponse
, но получено <class 'NoneType'>
Код:-
from rest_framework.decorators import api_view
from user_app.api.serializers import RegistrationSerializer
@api_view(['POST',])
def registration_view(request):
if request.method == 'POST':
serializer = RegistrationSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return serializer.data
Раньше он показывал ошибку: TypeError: User() получил неожиданные аргументы ключевого слова: 'password2'
>Затем я удалил поле password2 и снова добавил его, теперь оно показывает ошибку Assertion Error.
Весь ваш код в порядке, только нужно вернуть ответ вот так...
from rest_framework.response import Response
@api_view(['POST',])
def registration_view(request):
if request.method == 'POST':
serializer = RegistrationSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response({'data':serializer.data,'message':'Data Created'}, status=status.HTTP_201_CREATED) # need to return Response
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)