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