栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Django Rest Framework将文件上传到方法

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Django Rest Framework将文件上传到方法

这是我为克服此问题所做的一些代码。尽管凯文·布朗的回答可能行得通,但我发现我的代码有点“轻松”的方法:

    @detail_route(        methods=['post', 'put', 'patch', 'get'], permission_classes=[AllowAny],        authentication_classes=[NoAuthentication], serializer_class=MultimediaSerializer,        parser_classes=(FormParser, MultiPartParser,)    )    def upload_avatar(self, request, pk=None):        # Because we are using nested resources this was the only way i found to        # upload a file. Maybe there is a better way        if request.method in ['PATCH', 'POST']: avatar = request.FILES.get('avatar') if not avatar:     return Response(status=404) try:     woman = WomenNativePassport.objects.get(pk=pk) except WomenNativePassport.DoesNotExist:     return Response(status=404) else:     request.FILES['thumbnail'] = request.FILES['avatar']     serializer = AvatarSerializer(         data=request.DATA, files=request.FILES     )     if serializer.is_valid():         woman.avatar.thumbnail.save(str(avatar), File(avatar))         return Response(status=204)     else:         return Response(status=404)        else: multimedia = Multimedia.objects.filter(user_profiles_avatares__pk=pk) page = self.paginate_queryset(multimedia) serializer = self.get_pagination_serializer(page) return Response(serializer.data)# serializerclass AvatarSerializer(serializers.Serializer):    thumbnail = serializers.ImageField()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645453.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号