В тренажёр загружена облегчённая версия проекта Yatube; она реализована на дженериках.Настройте права доступа так, чтобы неаутентифицированные пользователи могли только читать публикации; все остальные операции должны быть доступны только пользователям с действующим токеном.
Подсказка:
В DEFAULT_PERMISSION_CLASSES словаря REST_FRAMEWORK установите уровень доступа на уровне проекта.
В описании вью-классов для публикаций добавьте атрибут permission_classes и укажите в нём необходимый уровень доступа для анонимов.
from rest_framework import generics, permissions
from posts.models import Post
from .serializers import PostSerializer
class PostList(generics.ListCreateAPIView):
queryset = Post.objects.all()
serializer_class = PostSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)
def perform_create(self, serializer):
serializer.save(author=self.request.user)
class PostDetail(generics.RetrieveUpdateDestroyAPIView):
queryset = Post.objects.all()
serializer_class = PostSerializer
permission_classes = (permissions.IsAuthenticatedOrReadOnly,)