在WSGIApplication
的构造函数中,它需要一个debug
参数。有没有办法从继承自webapp.RequestHandler
的处理程序类中访问此值集?
def main():
application = webapp.WSGIApplication([('/', fooHandler)
],
debug=True)
util.run_wsgi_app(application)
答案 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 方式从您的应用程序中的任何其他位置访问感兴趣的属性。