from django.contrib.auth import get_user_model from django.contrib.auth.models import User from rest_framework import viewsets, permissions from rest_framework.generics import CreateAPIView from rest_framework.response import Response from rest_framework.views import APIView from apps.user.serializers import UserSerializer, CurrentUserSerializer class UserViewSet(viewsets.ModelViewSet): """ API endpoint that allows users to be viewed or edited. """ queryset = User.objects.all().order_by('-date_joined') serializer_class = UserSerializer class CreateUserView(CreateAPIView): model = get_user_model() permission_classes = [ permissions.AllowAny # Or anon users can't register ] serializer_class = UserSerializer class CurrentUserView(APIView): """ """ def get(self, request): user = User.objects.get(pk=request.user.pk) serializer_context = { 'request': request, } serializer = CurrentUserSerializer(user, context=serializer_context) # return Response({"user": serializers.serialize('json', [ user, ])}) return Response(serializer.data)