我有一个烧瓶+ Gevent-socketio mini网站。推出:
app = Flask(__name__)
app.debug = True
@werkzeug.serving.run_with_reloader
def runServer():
print 'Listening on %s...' % WEB_PORT
ws = SocketIOServer(('0.0.0.0', WEB_PORT),
SharedDataMiddleware(app, {}),
resource="socket.io",
policy_server=False)
ws.serve_forever()
但是,当我的视图中发生错误时,它会输出
<pre style="word-wrap: break-word; white-space: pre-wrap;">Internal Server Error</pre>
而不是显示werkzeug调试器。另外,不会调用我的自定义
@app.errorhandler(500)
。这是在使用Gevent-socketio时发生的,常规的flask网站可以正常工作。
我想知道是什么在处理错误并取消默认的烧瓶行为...
最佳答案
我最近解决了这个问题,可以将Werkzeug debuggger修改为与socket.io名称空间一起使用(并且自动重装也可以),请参见此处并享受:
https://github.com/aldanor/SocketIO-Flask-Debug
关于python - 如何使用Flask + Gevent-socketio使werkzeug/自定义错误页面生效,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13964385/