stash
This commit is contained in:
parent
55577adde8
commit
916de9fd6b
7 changed files with 498 additions and 34 deletions
|
@ -1,4 +1,7 @@
|
|||
from rest_framework import routers, viewsets, serializers
|
||||
from rest_framework.decorators import api_view, permission_classes, authentication_classes
|
||||
from rest_framework.response import Response
|
||||
from rest_framework.authentication import BasicAuthentication
|
||||
from django.contrib.auth.models import User
|
||||
|
||||
|
||||
|
@ -8,13 +11,42 @@ class UserSerializer(serializers.ModelSerializer):
|
|||
fields = ('id', 'username', 'email', 'first_name', 'last_name')
|
||||
|
||||
|
||||
class RegisterUserSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = User
|
||||
fields = ('username', 'password', 'email')
|
||||
extra_kwargs = {
|
||||
'password': {'write_only': True},
|
||||
}
|
||||
|
||||
|
||||
class UserViewSet(viewsets.ModelViewSet):
|
||||
queryset = User.objects.all()
|
||||
serializer_class = UserSerializer
|
||||
authentication_classes = []
|
||||
authentication_classes = [BasicAuthentication]
|
||||
permission_classes = []
|
||||
|
||||
|
||||
@api_view(['GET'])
|
||||
@permission_classes([])
|
||||
@authentication_classes([BasicAuthentication])
|
||||
def token(request):
|
||||
return Response({
|
||||
'token': request.user.auth_token.key
|
||||
})
|
||||
|
||||
|
||||
@api_view(['POST'])
|
||||
@permission_classes([])
|
||||
@authentication_classes([])
|
||||
def registerUser(request):
|
||||
serializer = RegisterUserSerializer(data=request.data)
|
||||
if serializer.is_valid():
|
||||
user = serializer.save()
|
||||
return Response({'username': user.username, 'email': user.email}, status=201)
|
||||
return Response(serializer.errors, status=400)
|
||||
|
||||
|
||||
router = routers.SimpleRouter()
|
||||
router.register(r'users', UserViewSet, basename='users')
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue