我正在使用Tornado作为发送电子邮件的基本请求的API。 根据发送结果,我想相应地完成请求。
这就是我所做的:
def get_routes(tornado_config):
return [
(r"/send", EmailHandler, tornado_config)
]
这是在EmailHandler
内,结果是发送电子邮件的回复:
if result:
self.set_status(200)
self.finish(json.dumps({"status":"ok", "result":result}))
return ''
else:
self.set_status(500)
self.finish(json.dumps({"status": "error", "result":result }))
return ''
问题是self.set_status (500)
似乎没有添加500标题。
其他解决方案是:
if result:
return "ok"
else:
return "Message not sent"
但这并不尊重任何标准,因为它会在json {"status":"success", "data":false}
或类似的东西上返回,即使发送电子邮件失败也是如此。
答案 0 :(得分:0)
只需write
:
self.write({"status":"ok", "result":result})
而不是self.finish
。