我有一个烧瓶+ Gevent-socketio迷你网站。推出:
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,定期烧瓶网站正常运行。
我想知道什么是处理错误并取消默认的烧瓶行为......
答案 0 :(得分:2)
我最近解决了这个问题,可以修改Werkzeug debuggger以使用socket.io命名空间(并且自动重新加载也可以),请看这里并享受:
答案 1 :(得分:1)
要查看werkzeug调试器,您必须使用标准中间件堆栈为默认服务器提供所有http请求。
但是你为服务websockets请求启动了单独的SocketIOServer。