Google App Engine / WSGIApplication:如何检查调试?

时间:2010-06-27 17:45:59

标签: python google-app-engine

WSGIApplication的构造函数中,它需要一个debug参数。有没有办法从继承自webapp.RequestHandler的处理程序类中访问此值集?

def main():
    application = webapp.WSGIApplication([('/', fooHandler)
                                          ],
                                        debug=True)
    util.run_wsgi_app(application)

1 个答案:

答案 0 :(得分:1)

WSGIApplication实例将debug参数的值记录为self.__debug:双下划线是指示,表示类本身之外的任何代码都不应该查看此属性,因为它被视为内部应用程序详细信息,并且可以“随时”更改(即使在API的次要修订版中)。如果你想忽略这个非常强烈的指示,你可以,从技术上讲,使用webapp.WSGIApplication.active_instance._WSGIApplication__debug来查看它,但这是一个非常糟糕的主意。

很多更好的想法是在您自己的代码中继承WSGIApplication以使该属性公开可见:

class MyWSGIapp(webapp.WSGIApplication):
    def __init__(self, url_mapping, debug=False):
        self.debugmode = debug
        webapp.WSGIApplication.__init__(self, url_mapping, debug)

现在,当您使用MyWSGIapp代替webapp.WSGIApplication启动时,webapp.WSGIApplication.active_instance.debugmode将成为 clean solid 方式从您的应用程序中的任何其他位置访问感兴趣的属性。