From d74a8fddf8cb1a7d0788b16a7cb1cbd60b3929d9 Mon Sep 17 00:00:00 2001 From: jlj <3042504846@qq.com> Date: Tue, 20 May 2025 16:39:08 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0token?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 2 +- apps/brands/views.py | 39 +++++++++++---------------------------- daren/settings.py | 9 +++------ logs/app.log | 0 4 files changed, 15 insertions(+), 35 deletions(-) create mode 100644 logs/app.log diff --git a/.gitignore b/.gitignore index ed52ad5..6a0997a 100644 --- a/.gitignore +++ b/.gitignore @@ -54,7 +54,7 @@ cover/ *.pot # Django stuff: -*.log + local_settings.py db.sqlite3 db.sqlite3-journal diff --git a/apps/brands/views.py b/apps/brands/views.py index 16aa871..2dd766f 100644 --- a/apps/brands/views.py +++ b/apps/brands/views.py @@ -2,6 +2,8 @@ from django.shortcuts import render, get_object_or_404 from rest_framework import viewsets, status from rest_framework.decorators import action from rest_framework.response import Response +from rest_framework.permissions import IsAuthenticated +from apps.user.authentication import CustomTokenAuthentication import logging from .models import Brand, Product, Campaign, BrandChatSession @@ -26,9 +28,12 @@ def api_response(code=200, message="成功", data=None): }) class BrandViewSet(viewsets.ModelViewSet): + """品牌API视图集""" queryset = Brand.objects.all() serializer_class = BrandSerializer + authentication_classes = [CustomTokenAuthentication] + permission_classes = [IsAuthenticated] def get_serializer_class(self): if self.action == 'retrieve': @@ -40,13 +45,6 @@ class BrandViewSet(viewsets.ModelViewSet): serializer = self.get_serializer(queryset, many=True) return api_response(data=serializer.data) - def create(self, request, *args, **kwargs): - serializer = self.get_serializer(data=request.data) - if serializer.is_valid(): - self.perform_create(serializer) - return api_response(data=serializer.data) - return api_response(code=400, message="创建失败", data=serializer.errors) - def retrieve(self, request, *args, **kwargs): instance = self.get_object() serializer = self.get_serializer(instance) @@ -93,19 +91,14 @@ class ProductViewSet(viewsets.ModelViewSet): """产品API视图集""" queryset = Product.objects.filter(is_active=True) serializer_class = ProductSerializer + authentication_classes = [CustomTokenAuthentication] + permission_classes = [IsAuthenticated] def list(self, request, *args, **kwargs): queryset = self.filter_queryset(self.get_queryset()) serializer = self.get_serializer(queryset, many=True) return api_response(data=serializer.data) - def create(self, request, *args, **kwargs): - serializer = self.get_serializer(data=request.data) - if serializer.is_valid(): - self.perform_create(serializer) - return api_response(data=serializer.data) - return api_response(code=400, message="创建失败", data=serializer.errors) - def retrieve(self, request, *args, **kwargs): instance = self.get_object() serializer = self.get_serializer(instance) @@ -168,19 +161,14 @@ class CampaignViewSet(viewsets.ModelViewSet): """活动API视图集""" queryset = Campaign.objects.filter(is_active=True) serializer_class = CampaignSerializer + authentication_classes = [CustomTokenAuthentication] + permission_classes = [IsAuthenticated] def list(self, request, *args, **kwargs): queryset = self.filter_queryset(self.get_queryset()) serializer = self.get_serializer(queryset, many=True) return api_response(data=serializer.data) - def create(self, request, *args, **kwargs): - serializer = self.get_serializer(data=request.data) - if serializer.is_valid(): - self.perform_create(serializer) - return api_response(data=serializer.data) - return api_response(code=400, message="创建失败", data=serializer.errors) - def retrieve(self, request, *args, **kwargs): instance = self.get_object() serializer = self.get_serializer(instance) @@ -372,19 +360,14 @@ class BrandChatSessionViewSet(viewsets.ModelViewSet): """品牌聊天会话API视图集""" queryset = BrandChatSession.objects.filter(is_active=True) serializer_class = BrandChatSessionSerializer + authentication_classes = [CustomTokenAuthentication] + permission_classes = [IsAuthenticated] def list(self, request, *args, **kwargs): queryset = self.filter_queryset(self.get_queryset()) serializer = self.get_serializer(queryset, many=True) return api_response(data=serializer.data) - def create(self, request, *args, **kwargs): - serializer = self.get_serializer(data=request.data) - if serializer.is_valid(): - self.perform_create(serializer) - return api_response(data=serializer.data) - return api_response(code=400, message="创建失败", data=serializer.errors) - def retrieve(self, request, *args, **kwargs): instance = self.get_object() serializer = self.get_serializer(instance) diff --git a/daren/settings.py b/daren/settings.py index 4890e08..f3cd9a9 100644 --- a/daren/settings.py +++ b/daren/settings.py @@ -202,12 +202,9 @@ AUTH_USER_MODEL = 'user.User' # REST Framework 设置 REST_FRAMEWORK = { - 'DEFAULT_AUTHENTICATION_CLASSES': ( - 'apps.user.authentication.CustomTokenAuthentication', - ), - 'UNAUTHENTICATED_USER': None, - 'DEFAULT_PERMISSION_CLASSES': [], # 默认不需要任何权限 - 'DEFAULT_AUTHENTICATION_CLASSES': [] # 默认不需要任何认证 + 'DEFAULT_AUTHENTICATION_CLASSES': [], # 默认不需要认证 + 'DEFAULT_PERMISSION_CLASSES': [], # 默认不需要权限 + 'UNAUTHENTICATED_USER': None } # JWT 设置 diff --git a/logs/app.log b/logs/app.log new file mode 100644 index 0000000..e69de29