fix(文件上传): 🐛 文件上传
This commit is contained in:
@@ -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",
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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')
|
||||
|
||||
Reference in New Issue
Block a user