Python Flask 故意空响应
Posted
技术标签:
【中文标题】Python Flask 故意空响应【英文标题】:Python Flask Intentional Empty Response 【发布时间】:2014-08-09 07:58:00 【问题描述】:有没有办法返回具有某些属性的响应(来自make_response()
对象或类似对象),这样它就不会再次呈现页面,也不会做任何其他事情。我正在尝试在服务器上运行代码而不生成任何输出
一个简单的'return None'会产生:
ValueError: View function did not return a response
这应该是可能的,因为以下仅下载文件而不呈现模板:
myString = "First line of a document"
response = make_response(myString)
response.headers["Content-Disposition"] = "attachment; filename=myFile.txt"
return response
【问题讨论】:
【参考方案1】:你正在响应一个请求,你的 HTTP 服务器必须返回一些东西。 HTTP“空响应”响应为204 No Content
:
return ('', 204)
请注意,向浏览器返回文件不是空响应,只是与 html 响应不同。
【讨论】:
Ftr:你可以使用httplib.NO_CONTENT
来避免这个幻数。
请注意,Python 3 中 Python 2 的 httplib.NO_CONTENT
是 http.HTTPStatus.NO_CONTENT
。
@bfontaine: 或http.client.NO_CONTENT
@bfontaine:在http
package docs的底部;在引入 HTTPStatus
枚举之前,这些 曾经 是正常位置,请参阅 github.com/python/cpython/commit/…以上是关于Python Flask 故意空响应的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python/Flask 中故意导致 400 错误请求?