假设我的函数“search()”在 mongodb 中获取一些内容并返回生成器。
我的烧瓶视图功能看起来像这样
@app.route("search/")
def search_page():
generator = search()
return Response(generator)
Run Code Online (Sandbox Code Playgroud)
但是如果我这样做,我会收到这个错误:
Error on request:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 180, in run_wsgi
execute(self.server.app)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 171, in execute
write(data)
File "/usr/local/lib/python2.7/dist-packages/werkzeug/serving.py", line 151, in write
assert type(data) is bytes, 'applications must write bytes'
AssertionError: applications must write bytes
Run Code Online (Sandbox Code Playgroud)
生成器本身会产生几个 json 值。我总是可以使用生成器来构造一个列表并返回该列表,但我想避免这样做。
遇到同样的问题 \xe2\x80\x93 错误表明它必须写入字节,因此您需要写入字节作为响应。\n因此在您的search()函数中您可以执行以下操作:
bytes = json.dumps(your_content_from_mongo).decode('utf-8')\nRun Code Online (Sandbox Code Playgroud)\n\n它将把你的 JSON 从 mongo 解码为字节。
\n| 归档时间: |
|
| 查看次数: |
6387 次 |
| 最近记录: |