在Google App Engine中的包含文件中使用response.out.write

时间:2011-03-26 18:01:26

标签: python google-app-engine

我认为这是一个很容易回答的问题,我只是无法找到详细说明如何去做的任何地方。

我正在开发一个GAE应用程序。

在我的主文件中,我有一些请求处理程序,例如:

class Query(webapp.RequestHandler):
    def post(self):
        queryDOI = cgi.escape(self.request.get('doiortitle'))
        import queryCosine
        self.response.out.write(queryCosine.cosine(queryDOI))

在那个处理程序中,我从queryCosine.py脚本导入,该脚本正在完成所有工作。如果queryCosine脚本中的某些内容失败,我希望能够打印邮件或进行重定向。

在queryCosine.py里面只有一个普通的Python函数,所以很明显要做像

这样的事情
self.response.out.write("Done")

不起作用。我应该使用什么而不是自己,或者我需要在我的文件中包含哪些内容?我尝试过使用Query.self.response.out.write,但这不起作用。

2 个答案:

答案 0 :(得分:2)

更好,更模块化的方法是让你的queryCosine.cosine函数在出现问题时抛出异常。然后,您的处理程序方法可以根据返回值或异常输出相应的响应。这样就可以避免过度耦合代码,这些代码可以计算出你正在计算它的东西的代码。

答案 1 :(得分:1)

将其传递给该功能。

主文件:

import second

 ...
  second.somefunction(self.response.out.write)

second.py:

def somefunction(output):
  output('Done')