如何使用 WebOb 构建文件上传 POST HTTP 请求?

发布于 2024-11-26 14:37:45 字数 422 浏览 1 评论 0原文

我使用 Ian Bicking 的 WebOb 在编写 Python Web 应用程序测试时效果非常好。我调用 webob.Request.blank('/path...'),然后使用生成的请求对象的 get_response(app) 方法来调用我的 Web 应用程序。返回的响应对象让我可以检查 HTTP 响应的状态代码、内容类型、正文等。构建 POST 请求也很容易:

Request.blank('/path/under/test/', POST={'query': 'some text'})

但现在我遇到了一些难题:我需要在 Web 应用程序中测试一个需要文件上传的视图,但我不太清楚 WebOb 如何表示这种特定类型的视图邮政。有谁知道如何构建一个包含一个或多个文件上传字段的 WebOb 请求?

I am using Ian Bicking's WebOb to very great effect in writing Python web application tests. I call webob.Request.blank('/path...'), and then use the resulting request object's get_response(app) method to invoke my web application. The response object that is returned lets me check the HTTP response's status code, content type, body, and so forth. Building a POST request is also quite easy:

Request.blank('/path/under/test/', POST={'query': 'some text'})

But now I have run across a bit of a puzzle: I need to test a view in my web application that expects a file upload, and I cannot quite figure out how WebOb represents that particular kind of POST. Does anyone know how to build a WebOb request with one or more file-upload fields inside?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

坏尐絯℡ 2024-12-03 14:37:45

截至几天前,您可以执行以下操作:

req = Request.blank('/path/under/test', 
                    POST={'query': 'some text', 'upload': ('filename', 'content')})

这是在此提交中引入的,并且尚未发布。

As of a couple days ago you can do:

req = Request.blank('/path/under/test', 
                    POST={'query': 'some text', 'upload': ('filename', 'content')})

This was brought in in this commit, and has not yet been released.

轻许诺言 2024-12-03 14:37:45

您可以使用 WebTest 来实现此目的,请参阅此 TestApp.post 参数 此处

You can use WebTest for that, see this TestApp.post arguments here.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文