Why is Django giving Page not found error?


Why is Django giving Page not found error?



I am Building a Sample REST API using Django-REST-Framework and Apache Cassandra.
Here's my model:


import uuid
from cassandra.cqlengine import columns
from cassandra.cqlengine.models import Model


class User(Model):
read_repair_chance = 0.05
user_id = columns.UUID(primary_key=True, default=uuid.uuid4)
username = columns.Text(required=True)
password = columns.Text(required=True)
email = columns.Text(required=True)

def __str__(self):
return self.username

def get(self,request, format=None):
uname = [user.name for user in User.object.all()]
return Response(uname)



I am able to add new users and get a list of them.



But when I try to issue a DELETE request using POSTMAN,


DELETE


POSTMAN


DELETE http://localhost:8000/users/0f7b0ada-01ab-4907-b9d2-3fa0d27ae1ce



I am getting page not found 404 error.
Can someone identify where am I going wrong.
Here's the contents of the rest of the files:
Views.py


from rest_framework import viewsets
from .models import User
from .serializers import UserSerializer
from rest_framework.response import Response
from rest_framework import status


class UserView(viewsets.ViewSet):
def get_object(self, pk):
try:
return User.objects.get(pk=pk)
except User.DoesNotExist:
raise Http404

def get_user_list(self, request):
queryset = User.objects.all()
serializer = UserSerializer(queryset,many=True)
return Response(serializer.data)

def get(self, request, pk, format=None):
user = self.get_object(pk)
serializer = UserSerializer(user)
return Response(user.data)

def post(self, request):
serializer = UserSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
return Response(serializer.data, status=status.HTTP_201_CREATED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)

def put(self, request, pk, format=None):
user = self.get_object(pk)
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)

def delete(self, request, pk, format=None):
user = self.get_object(pk)
user.delete()
return Response(status=status.HTTP_204_NO_CONTENT)



Project URLS:


from django.urls import path, include
urlpatterns = [
path('users/', include('userdatabase.urls')),
#path('',)
]

from django.urls import path, include
from .views import UserView
user_list = UserView.as_view({'get':'get_user_list', 'delete': 'delete'})

urlpatterns = [
path('', user_list, name='user_list'),
path('users/delete/<uuid:pk>', user_list, name='user_list')
]



serializers.py


import uuid
from rest_framework import serializers
from .models import User

class UserSerializer(serializers.Serializer):
user_id = serializers.UUIDField(default=uuid.uuid4())
username = serializers.CharField(required=True)
password = serializers.CharField(required=True)
email = serializers.CharField(required=True)

def create(self, validated_data):
return User.create(**validated_data)

def update(self, instance, validated_data):
instance.username = validated_data.get('email', instance.username)
instance.password = validated_data.get('content', instance.password)
instance.email = validated_data.get('created', instance.email)
return instance









By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Popular posts from this blog

api-platform.com Unable to generate an IRI for the item of type

How to set up datasource with Spring for HikariCP?

Display dokan vendor name on Woocommerce single product pages