gpt4 book ai didi

django - 有没有办法使用 Django REST 框架中的可浏览 API 上传文件?

转载 作者:行者123 更新时间:2023-12-02 06:38:43 25 4
gpt4 key购买 nike

我需要测试一个上传文件的 API。如何通过可浏览的 API 执行此操作。可浏览的 API 页面如下所示:

enter image description here

有什么方法可以使用这个接口(interface)上传文件吗?

views.py:

class TrainingData(APIView):
"""
API for getting the training data
"""


def post(self, request, format=None):
"""
Receives the data in the form of a POST request
"""
print request.data
serialized = TrainingSerializer(data=request.data)
if serialized.is_valid():
file_obj = request.data['file']
print "its working"
return Response(status=204)

return Response(serialized._errors, status=status.HTTP_400_BAD_REQUEST)

serializers.py:

class TrainingSerializer(serializers.Serializer):
"""
Serializer for the training data input
"""

uploaded_file = serializers.FileField(use_url=settings.BASE_DIR+"/api/uploaded_files/")

最佳答案

仅当使用基于通用的 View 时,Django REST 框架才会在可浏览的 API 中自动生成适当的表单。切换到基于通用的 View 解决了我的问题。

使用以下更改,我可以获得文件上传字段

from rest_framework import generics  

class TrainingData(generics.CreateAPIView):
"API for getting the training data"

serializer_class = TrainingSerializer

关于django - 有没有办法使用 Django REST 框架中的可浏览 API 上传文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32311500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com