diff --git a/apps/discovery/views.py b/apps/discovery/views.py index 5a6bf95..289eff8 100644 --- a/apps/discovery/views.py +++ b/apps/discovery/views.py @@ -5,6 +5,8 @@ from rest_framework.decorators import action from rest_framework.response import Response from rest_framework.permissions import AllowAny from django.utils import timezone +from rest_framework.permissions import IsAuthenticated +from apps.user.authentication import CustomTokenAuthentication from .models import SearchSession, Creator from .serializers import ( @@ -39,7 +41,8 @@ class SearchSessionViewSet(viewsets.ModelViewSet): """搜索会话视图集""" queryset = SearchSession.objects.all() serializer_class = SearchSessionSerializer - permission_classes = [AllowAny] + authentication_classes = [CustomTokenAuthentication] + permission_classes = [IsAuthenticated] pagination_class = StandardResultsSetPagination def get_serializer_class(self): @@ -98,7 +101,8 @@ class CreatorDiscoveryViewSet(viewsets.ReadOnlyModelViewSet): """创作者发现视图集""" queryset = Creator.objects.all() serializer_class = CreatorSerializer - permission_classes = [AllowAny] + authentication_classes = [CustomTokenAuthentication] + permission_classes = [IsAuthenticated] pagination_class = StandardResultsSetPagination def get_serializer_class(self): diff --git a/apps/template/views.py b/apps/template/views.py index 24c3196..f2dc4d3 100644 --- a/apps/template/views.py +++ b/apps/template/views.py @@ -13,7 +13,8 @@ from .serializers import ( from .filters import TemplateFilter from .utils import ApiResponse from .pagination import StandardResultsSetPagination - +from rest_framework.permissions import IsAuthenticated +from apps.user.authentication import CustomTokenAuthentication # Create your views here. class TemplateCategoryViewSet(viewsets.ModelViewSet): @@ -24,7 +25,8 @@ class TemplateCategoryViewSet(viewsets.ModelViewSet): """ queryset = TemplateCategory.objects.all() serializer_class = TemplateCategorySerializer - permission_classes = [permissions.AllowAny] # 允许所有人访问 + authentication_classes = [CustomTokenAuthentication] + permission_classes = [IsAuthenticated] pagination_class = StandardResultsSetPagination def list(self, request, *args, **kwargs): @@ -98,7 +100,8 @@ class TemplateViewSet(viewsets.ModelViewSet): 提供模板的增删改查功能 """ queryset = Template.objects.all() - permission_classes = [permissions.AllowAny] # 允许所有人访问 + authentication_classes = [CustomTokenAuthentication] + permission_classes = [IsAuthenticated] filter_backends = [DjangoFilterBackend, filters.SearchFilter, filters.OrderingFilter] filterset_class = TemplateFilter search_fields = ['title', 'content'] diff --git a/logs/app.log b/logs/app.log index e69de29..ff52b1b 100644 --- a/logs/app.log +++ b/logs/app.log @@ -0,0 +1,31 @@ +INFO 2025-05-20 17:27:32,071 status_polling_service  1 ״̬ѯ 30 +ERROR 2025-05-20 17:27:32,113 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:28:02,155 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:28:32,197 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:29:02,237 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:29:32,284 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:30:02,328 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:30:32,375 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:31:02,430 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:31:32,476 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:32:02,531 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:32:32,577 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:33:02,632 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:33:32,685 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:34:02,739 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:34:32,792 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:35:02,827 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:35:32,872 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:36:02,924 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:36:32,971 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:37:03,025 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:37:33,071 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:38:03,121 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:38:33,176 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:39:03,225 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:39:33,277 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:40:03,328 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:40:33,375 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:41:03,425 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:41:33,477 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸ +ERROR 2025-05-20 17:42:03,529 offer_status_service ȡ̸״̬ʧ: ûidΪ14ƷidΪ241a67e0-1c99-44de-a5dd-40622ffa23b6̸