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

1from django.contrib.auth import get_user_model 1a

2from django.views.generic import ListView 1a

3from rest_framework import generics 1a

4 

5from .models import Post 1a

6from .permissions import IsAuthorOrReadOnly 1a

7from .serializers import PostSerializer, UserSerializer 1a

8 

9 

10class PostList(generics.ListCreateAPIView): 1a

11 """ 

12 Display a list of :model:`posts.Post` 

13 

14 **Context** 

15 

16 ``Post`` 

17 An instance of :model:`posts.Post` 

18 

19 **Template:** 

20 

21 :template:`posts/post_list.html` 

22 """ 

23 

24 permission_classes = (IsAuthorOrReadOnly,) 1a

25 queryset = Post.objects.all() 1a

26 serializer_class = PostSerializer 1a

27 

28 

29class PostDetail(generics.RetrieveUpdateDestroyAPIView): 1a

30 permission_classes = (IsAuthorOrReadOnly,) 1a

31 queryset = Post.objects.all() 1a

32 serializer_class = PostSerializer 1a

33 

34 

35class UserList(generics.ListCreateAPIView): 1a

36 queryset = get_user_model().objects.all() 1a

37 serializer_class = UserSerializer 1a

38 

39 

40class UserDetail(generics.RetrieveUpdateDestroyAPIView): 1a

41 queryset = get_user_model().objects.all() 1a

42 serializer_class = UserSerializer 1a

43 

44 

45class PostListView(ListView): 1a

46 model = Post 1a

47 template_name = "posts/post_list.html" 1a

48 

49 paginate_by = 5 1a