中止(400)引发 500 内部服务器错误 - Flask 1.0

abort(400) raising 500 internal server error - Flask 1.0

我有这个功能:

if not (payload.get('password') == payload.get('password_cpy')):
        abort(400)

当我 运行 带有 flask 运行 的应用程序和调试关闭时,我得到一个 BadRequest 错误的漂亮打印,它以原始格式显示以下信息:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>The browser (or proxy) sent a request that this server could not 
understand.</p>

在终端上我看到:

127.0.0.1 - - [30/Apr/2018 00:28:20] "POST /sign_in HTTP/1.1" 400 - 

当我 运行 它并打开调试时,我得到的错误是:

 werkzeug.exceptions.BadRequest
    werkzeug.exceptions.BadRequest: 400 Bad Request: The browser (or proxy) 
    sent a request that this server could not understand.

并且在终端中我看到了 500 错误:

127.0.0.1 - - [30/Apr/2018 00:29:27] "POST /sign_in HTTP/1.1" 500 -

为什么我会得到两种不同的行为?有没有办法让我在调试模式下也能得到 400 错误?

尝试将您的 Flask1.0 更新为 Flask1.0.1
我想这个错误已经在 Flask1.0.1 中修复了 :)

https://github.com/pallets/flask/issues/2735