1

私が本当に気に入っているWerkzeug Debuggerに出くわしたとき、CherryPy と Flask を比較していました。何が私を驚かせますか:

Werkzeug のデバッガーを CherryPy に統合することは可能ですか? もしそうなら:どのように?

自分で統合しようとしたところ、コンソールは機能しましたが ( /console)、例外ハンドラーは機能しませんでした。

EDIT: Werkzeugがエラーを取得する前に、CherryPyがエラーをキャッチして処理するようです。

4

1 に答える 1

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に関して初心者であり、このハックは私にとってはうまくいきました.

于 2012-08-22T11:59:00.553 に答える