JsonResponse তৈরি করি
views.py
from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.http import require_GET, require_POST, require_http_methods
from .models import Blog
from .serializers import BlogSerializer
from django.http import JsonResponse
@csrf_exempt
@require_GET
def get_blog(request):
blogs = Blog.objects.all()
serializer = BlogSerializer(blogs, many=True)
return JsonResponse(serializer.data, safe=False)
@csrf_exempt
@require_GET
def get_blog_details(request, id):
try:
blog = Blog.objects.get(pk=id)
serializer = BlogSerializer(blog)
return JsonResponse(serializer.data)
except Blog.DoesNotExist:
return JsonResponse({'error': 'Blog does not exist'}, status=404)
@csrf_exempt
@require_POST
def create_blog(request):
data = request.POST
serializer = BlogSerializer(data=data)
if serializer.is_valid():
serializer.save()
return JsonResponse(serializer.data, status=201)
return JsonResponse(serializer.errors, status=400)
@csrf_exempt
@require_http_methods(["DELETE"])
def delete_blog(request, id):
try:
blog = Blog.objects.get(pk=id)
blog.delete()
return JsonResponse({'message': 'Blog deleted successfully'})
except Blog.DoesNotExist:
return JsonResponse({'error': 'Blog does not exist'}, status=404)
urls.py
from django.urls import path
from .views import get_blog, get_blog_details, create_blog, delete_blog
urlpatterns = [
path('', get_blog, name='blog_list'),
path('<int:id>/', get_blog_details, name='get_blog_details'),
path('create/', create_blog, name='create_blog'),
path('<int:id>/delete/', delete_blog, name='delete_blog'),
]
Last updated