Coverage for posts/views.py: 100.00%
24 statements
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-15 09:40 -0700
« prev ^ index » next coverage.py v7.16.2, created at 2026-10-15 09:40 -0700
1from django.contrib.auth import get_user_model 1a
2from django.views.generic import ListView 1a
3from rest_framework import generics 1a
5from .models import Post 1a
6from .permissions import IsAuthorOrReadOnly 1a
7from .serializers import PostSerializer, UserSerializer 1a
10class PostList(generics.ListCreateAPIView): 1a
11 """
12 Display a list of :model:`posts.Post`
14 **Context**
16 ``Post``
17 An instance of :model:`posts.Post`
19 **Template:**
21 :template:`posts/post_list.html`
22 """
24 permission_classes = (IsAuthorOrReadOnly,) 1a
25 queryset = Post.objects.all() 1a
26 serializer_class = PostSerializer 1a
29class PostDetail(generics.RetrieveUpdateDestroyAPIView): 1a
30 permission_classes = (IsAuthorOrReadOnly,) 1a
31 queryset = Post.objects.all() 1a
32 serializer_class = PostSerializer 1a
35class UserList(generics.ListCreateAPIView): 1a
36 queryset = get_user_model().objects.all() 1a
37 serializer_class = UserSerializer 1a
40class UserDetail(generics.RetrieveUpdateDestroyAPIView): 1a
41 queryset = get_user_model().objects.all() 1a
42 serializer_class = UserSerializer 1a
45class PostListView(ListView): 1a
46 model = Post 1a
47 template_name = "posts/post_list.html" 1a
49 paginate_by = 5 1a