请求不在 Django 测试中发送文件

问题描述

我想测试一个视图,该视图假设接收随请求附加的文件。 我的 Django 测试:


TEST_DIR = "myapp/tests/test_data/"
file_name = "some_resume.pdf"
email_data = {
  "sender": "somedude@someprovidercom","recipient": "someotherdude@someotherprovider.com","subject": "New candidate","stripped-html": "Check out this new candidate."
}

api = apiclient()

with open(FILE_DIR + file_name,"rb") as fp:
  response = api.post(
    "/api/v1.0/emails/receive/",data=email_data,files={"resume": fp},# pass file handler open with byte mode
    format="multipart",# use multipart format
  )
  print(response)


# test some stuff

api 响应正确:<Response status_code=200,"application/json">

但是当我在视图中打印附加到请求的文件时,我什么也没得到:

print(request.FILES)
# <MultiValueDict: {}>

我到处检查,我的 api 请求格式看起来像文件。 此外,当我使用 python requests 库测试 shell 发送请求时,我的视图工作正常。 我错过了什么吗? id 可能与我的测试环境或一些晦涩的中间件有关吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)