Files
shopback/blog/views.py
Beyhan Oğur d9f1ea341e first commit
2026-04-26 22:27:56 +03:00

54 lines
1.7 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
from rest_framework.generics import ListAPIView, RetrieveAPIView, CreateAPIView
from rest_framework.pagination import PageNumberPagination
from rest_framework.permissions import IsAuthenticated
from blog.models import Post, PCategory, PComment
from blog.serializers import PostSerializer, CategorySerializer, CategoryPostSerializer, CommentSerializer
from core.Permission import ReadOnly
class StandardResultsSetPagination(PageNumberPagination):
page_size = 10
page_size_query_param = 'page_size'
max_page_size = 100
# Create your views here.
class CategoryList(ListAPIView):
permission_classes = [ReadOnly]
queryset = PCategory.objects.order_by('order').filter(is_active=True, parent__isnull=True).all()
serializer_class = CategorySerializer
class CategoryDetail(RetrieveAPIView):
permission_classes = [ReadOnly]
queryset = PCategory.objects.order_by('order').filter(is_active=True).all()
serializer_class = CategoryPostSerializer
lookup_field = 'slug' # Slug ile arama yapılacak
def get_serializer_context(self):
context = super().get_serializer_context()
context['paginator'] = StandardResultsSetPagination()
return context
# Create your views here.
class PostList(ListAPIView):
permission_classes = [ReadOnly]
queryset = Post.objects.all()
serializer_class = PostSerializer
pagination_class = StandardResultsSetPagination
class PostDetail(RetrieveAPIView):
permission_classes = [ReadOnly]
queryset = Post.objects.all()
serializer_class = PostSerializer
lookup_field = 'slug' # Slug ile arama yapılacak
class CommentCreate(CreateAPIView):
queryset = PComment.objects.all()
serializer_class = CommentSerializer
permission_classes = [IsAuthenticated]