当我遇到Werkzeug Debugger时,我正在比较CherryPy和Flask,我非常喜欢。让我感到奇怪的是:
是否可以将Werkzeug的调试器集成到CherryPy中?如果是这样的话:怎么样?
当我尝试自己集成它时,我让控制台工作(/console
),但不是异常处理程序。
修改 在Werkzeug得到它们之前,似乎CherryPy会捕获错误并处理它们。
答案 0 :(得分:3)
在我的编辑中,我描述了CherryPy捕获错误。在配置中throw_errors
可以设置为True
。对我来说,设置cherrypy._cprequest.Request.throw_errors = True
就是这样做的。整个代码是:
import cherrypy
from cherrypy import wsgiserver
from werkzeug.debug import DebuggedApplication
class Root(object):
@cherrypy.expose
def index(self):
return "Hello World :)"
@cherrypy.expose
def page(self):
# Error:
return self.self.self.pas
cherrypy._cprequest.Request.throw_errors = True
app = cherrypy.Application(Root(), script_name=None, config=None)
app = DebuggedApplication(app, evalex=True)
d = wsgiserver.WSGIPathInfoDispatcher({'/': app})
server = wsgiserver.CherryPyWSGIServer(('0.0.0.0', 8080), d)
try:
server.start()
except KeyboardInterrupt:
server.stop()
我敢肯定,有更好的方法可以做到这一点,但我是关于CherryPy的新手,这个黑客对我有用。