使flask返回NON-json响应自定义消息,并返回错误代码



如何返回错误403的自定义响应消息,该消息不是json。我试过使用这个:

def bad_request(message):
response = jsonify({'message': message})
response.status_code = 403
return response
@app.route("/logs")
def logs():
if request.remote_addr == "127.0.0.1":
return f"Heres your logs!"
else:
return bad_request('WAF: Access Denied for this Host.')

这返回json,我不想要它。此外,我不喜欢使用abort,因为它包含HTML。我只希望回复为403,并且只打印平面文本。

我尝试将CCD_ 1更改为CCD_;AttributeError:"str"对象没有属性"status_code">

我怎样才能做到这一点?

编辑:终于能够使用

return render_template('error.html'), 403

只需将平面文本放在error.html中。有没有其他方法可以在不创建模板html文件的情况下实现这一点?

从Flask视图返回的值应该始终是Response:

from flask import Response
def logs():
...
return Response("WAF: Access Denied for this Host.", status=403)

最新更新