added user api-view
This commit is contained in:
parent
f8af9ee5df
commit
94b096e6c0
3 changed files with 52 additions and 1 deletions
7
backend/videoflix/users/serializer.py
Normal file
7
backend/videoflix/users/serializer.py
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
from rest_framework import serializers
|
||||||
|
from .models import CustomUser
|
||||||
|
|
||||||
|
class UserSerializer(serializers.ModelSerializer):
|
||||||
|
class Meta:
|
||||||
|
model = CustomUser
|
||||||
|
fields = ["id", "username", "first_name", "last_name", "email"]
|
||||||
|
|
@ -1,3 +1,44 @@
|
||||||
|
from django.http import JsonResponse
|
||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
|
from rest_framework.decorators import api_view
|
||||||
|
from rest_framework.response import Response
|
||||||
|
from rest_framework import status
|
||||||
|
from .serializer import UserSerializer
|
||||||
|
from .models import CustomUser
|
||||||
|
|
||||||
# Create your views here.
|
@api_view(['GET', 'POST'])
|
||||||
|
def user_list(request):
|
||||||
|
|
||||||
|
if request.method == 'GET':
|
||||||
|
user = CustomUser.objects.all()
|
||||||
|
serializer = UserSerializer(user, many=True)
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
elif request.method == 'POST':
|
||||||
|
serializer = UserSerializer(data= request.data)
|
||||||
|
if serializer.is_valid():
|
||||||
|
serializer.save
|
||||||
|
return Response(serializer.data, status=status.HTTP_201_CREATED)
|
||||||
|
|
||||||
|
@api_view(['GET', 'PUT', 'DELETE'])
|
||||||
|
def user_detail(request, id):
|
||||||
|
|
||||||
|
try:
|
||||||
|
user = CustomUser.objects.get(pk=id)
|
||||||
|
except CustomUser.DoesNotExist:
|
||||||
|
return Response(status=status.HTTP_404_NOT_FOUND)
|
||||||
|
|
||||||
|
if request.method == 'GET':
|
||||||
|
serializer = UserSerializer(user)
|
||||||
|
return Response(serializer.data)
|
||||||
|
|
||||||
|
elif request.method == 'PUT':
|
||||||
|
serializer = UserSerializer(user, data=request.data)
|
||||||
|
if serializer.is_valid():
|
||||||
|
serializer().save()
|
||||||
|
return Response(serializer.data)
|
||||||
|
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
|
||||||
|
|
||||||
|
elif request.method == 'DELETE':
|
||||||
|
user.delete()
|
||||||
|
return Response(status=status.HTTP_204_NO_CONTENT)
|
||||||
|
|
@ -16,7 +16,10 @@ Including another URLconf
|
||||||
"""
|
"""
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
from django.urls import path
|
from django.urls import path
|
||||||
|
from users import views
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
path('admin/', admin.site.urls),
|
path('admin/', admin.site.urls),
|
||||||
|
path('users/', views.user_list),
|
||||||
|
path('users/<int:id>/', views.user_detail),
|
||||||
]
|
]
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue