微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决请求不在 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 举报,一经查实,本站将立刻删除。