【发布时间】:2018-09-18 15:26:18
【问题描述】:
我正在尝试从 Postman 将多个文件发布到我的 django 应用程序。我没有使用表单,并且我的应用程序没有 UI 方面。这是我的视图类。
class FileUploader(APIView):
'''
Rest API for FileUploader
'''
permission_classes = (AllowAny,)
parser_classes = (MultiPartParser, )
@csrf_exempt
def post(self, request):
retval = Response(request.data, status=status.HTTP_201_CREATED)
logger.info('New post with the following data: {}'.format(request.data))
它说,“TypeError: init() 缺少 3 个必需的位置参数:'META'、'input_data' 和 'upload_handlers'” 如果我使用 FormView,我的 Post 有三个键,两个代表文件,最后一个是字符串。在调试期间,我的请求没有字段 Data,并且 FILES 为空,并且 POST 没有任何信息。任何指针将不胜感激。如果有帮助,我可以上传更多。
这不是重复的,因为他能够上传多个文件而我的不上传任何文件。我正在努力弄清楚如何在请求中找到文件,并且由于它们不存在如何设置视图(而不是序列化)以接收多个文件。
【问题讨论】:
-
此外,您没有从视图类返回任何响应
-
我不关心从请求中生成模型,所以序列化不是问题的一部分,问题是物理 POST 请求。稍后在视图中,我返回响应 201 或依赖。我正在努力解决的是将两个文件都包含在请求中。
-
添加了答案,试试吧
标签: django django-forms django-rest-framework django-views