该应用程序设置为基本的 WSGI 应用程序。我只是想在 requestHandler 运行之前调用一个函数。
我想要一些非常类似于 before_filter 在 Rails 中的工作方式的东西。
谢谢。
该应用程序设置为基本的 WSGI 应用程序。我只是想在 requestHandler 运行之前调用一个函数。
我想要一些非常类似于 before_filter 在 Rails 中的工作方式的东西。
谢谢。
您可以将“之前”安装为WSGI 中间件——App Engine 使用 WSGI,就像现在 Python 中的几乎每个 Web 框架和服务器一样。这是一个例子——它在处理程序运行之后做事,但在之前做这些事情更容易......无论如何,你的中间件“包装”了作为实际应用程序的 WSGI 应用程序;-),所以你当然可以之前,之后或相反的事情;-)。
有关 WSGI 的更多信息,请参见此处。
我会使用装饰器,它与 rails 中的 before_filter 不完全相同,但对你来说可能已经足够了:
def before_filter(fn):
def inner_function(self):
# do stuff before
return fn(self)
return inner_function
class MainPage(webapp.RequestHandler):
@before_filter
def get(self):
self.response.headers['Content-Type'] = 'text/plain'
self.response.out.write('Hello, webapp World!')