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