fix(文件上传): 🐛 文件上传

This commit is contained in:
猿小天
2023-04-11 19:09:12 +08:00
committed by H0nGzA1
parent 0d556bfb2b
commit 460ae171dd
3 changed files with 4 additions and 9 deletions

View File

@@ -261,6 +261,7 @@ LOGGING = {
REST_FRAMEWORK = { REST_FRAMEWORK = {
'DEFAULT_PARSER_CLASSES': ( 'DEFAULT_PARSER_CLASSES': (
'rest_framework.parsers.JSONParser', 'rest_framework.parsers.JSONParser',
'rest_framework.parsers.MultiPartParser',
), ),
"DATETIME_FORMAT": "%Y-%m-%d %H:%M:%S", # 日期时间格式配置 "DATETIME_FORMAT": "%Y-%m-%d %H:%M:%S", # 日期时间格式配置
"DATE_FORMAT": "%Y-%m-%d", "DATE_FORMAT": "%Y-%m-%d",

View File

@@ -354,7 +354,7 @@ class OperationLog(CoreModel):
def media_file_name(instance, filename): def media_file_name(instance, filename):
h = instance.md5sum h = instance.md5sum
basename, ext = os.path.splitext(filename) 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): class FileList(CoreModel):

View File

@@ -1,6 +1,6 @@
from rest_framework import serializers from rest_framework import serializers
from rest_framework.decorators import action 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.system.models import FileList
from dvadmin.utils.json_response import SuccessResponse from dvadmin.utils.json_response import SuccessResponse
@@ -12,14 +12,13 @@ class FileSerializer(CustomModelSerializer):
url = serializers.SerializerMethodField(read_only=True) url = serializers.SerializerMethodField(read_only=True)
def get_url(self, instance): def get_url(self, instance):
return 'media/' + str(instance.url) return f'media/{str(instance.url)}'
class Meta: class Meta:
model = FileList model = FileList
fields = "__all__" fields = "__all__"
def create(self, validated_data): def create(self, validated_data):
print(self.context['request'])
validated_data['name'] = str(self.initial_data.get('file')) validated_data['name'] = str(self.initial_data.get('file'))
validated_data['url'] = self.initial_data.get('file') validated_data['url'] = self.initial_data.get('file')
return super().create(validated_data) return super().create(validated_data)
@@ -38,8 +37,3 @@ class FileViewSet(CustomModelViewSet):
serializer_class = FileSerializer serializer_class = FileSerializer
filter_fields = ['name', ] filter_fields = ['name', ]
permission_classes = [] permission_classes = []
@action(detail=False, methods=['post'])
def test_post_file(self, request):
return SuccessResponse(msg='test_is_ok')