From 2f04f22904c89cc6f4811df57d3095eb5b245e27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8C=BF=E5=B0=8F=E5=A4=A9?= <1638245306@qq.com> Date: Tue, 11 Apr 2023 19:09:12 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0):=20?= =?UTF-8?q?=F0=9F=90=9B=20=E6=96=87=E4=BB=B6=E4=B8=8A=E4=BC=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/application/settings.py | 1 + backend/dvadmin/system/models.py | 2 +- backend/dvadmin/system/views/file_list.py | 10 ++-------- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/backend/application/settings.py b/backend/application/settings.py index 10556ac..3277e06 100644 --- a/backend/application/settings.py +++ b/backend/application/settings.py @@ -261,6 +261,7 @@ LOGGING = { REST_FRAMEWORK = { 'DEFAULT_PARSER_CLASSES': ( 'rest_framework.parsers.JSONParser', + 'rest_framework.parsers.MultiPartParser', ), "DATETIME_FORMAT": "%Y-%m-%d %H:%M:%S", # 日期时间格式配置 "DATE_FORMAT": "%Y-%m-%d", diff --git a/backend/dvadmin/system/models.py b/backend/dvadmin/system/models.py index 4376afb..978085d 100644 --- a/backend/dvadmin/system/models.py +++ b/backend/dvadmin/system/models.py @@ -354,7 +354,7 @@ class OperationLog(CoreModel): def media_file_name(instance, filename): h = instance.md5sum basename, ext = os.path.splitext(filename) - return os.path.join("files", h[0:1], h[1:2], h + ext.lower()) + return os.path.join("files", h[:1], h[1:2], h + ext.lower()) class FileList(CoreModel): diff --git a/backend/dvadmin/system/views/file_list.py b/backend/dvadmin/system/views/file_list.py index ae05084..1da0c5f 100644 --- a/backend/dvadmin/system/views/file_list.py +++ b/backend/dvadmin/system/views/file_list.py @@ -1,6 +1,6 @@ from rest_framework import serializers from rest_framework.decorators import action -from rest_framework.parsers import FileUploadParser +from rest_framework.parsers import FileUploadParser, FormParser, MultiPartParser from dvadmin.system.models import FileList from dvadmin.utils.json_response import SuccessResponse @@ -12,14 +12,13 @@ class FileSerializer(CustomModelSerializer): url = serializers.SerializerMethodField(read_only=True) def get_url(self, instance): - return 'media/' + str(instance.url) + return f'media/{str(instance.url)}' class Meta: model = FileList fields = "__all__" def create(self, validated_data): - print(self.context['request']) validated_data['name'] = str(self.initial_data.get('file')) validated_data['url'] = self.initial_data.get('file') return super().create(validated_data) @@ -38,8 +37,3 @@ class FileViewSet(CustomModelViewSet): serializer_class = FileSerializer filter_fields = ['name', ] permission_classes = [] - - @action(detail=False, methods=['post']) - def test_post_file(self, request): - - return SuccessResponse(msg='test_is_ok')