2010-09-08 177 views
9

我試圖獲得在GAE上運行的web.py應用程序。我希望,像下面的某事可能工作Google App Engine上的web.py

import web 
from google.appengine.ext.webapp.util import run_wsgi_app 

[...] 

def main(): 
    app = web.application(urls, globals()) 
    run_wsgi_app(app) 

但顯然app對象不與run_wsgi_app功能的預期一致。該錯誤味精說像app has no __call__ function,所以我試着通過app.run,但也沒有工作。

我該如何撥打run_wsgi_app工作?

回答

11

這是StackPrinter的一個片段,webpy應用程序運行在Google App Engine之上。

from google.appengine.ext.webapp.util import run_wsgi_app 
import web 
... 
app = web.application(urls, globals()) 

def main(): 

    application = app.wsgifunc() 
    run_wsgi_app(application) 

if __name__ == '__main__': 
    main() 
+1

很酷,非常感謝。 – 2010-09-08 07:13:25

0

你不需要導入或使用run_wsgi_app,web.py有一個完美的runcgi方法!

if __name__ == '__main__': 
    app.cgirun() 
+0

爲什麼不使用'app.run()'? web.py應該能夠弄清楚它需要以cgi的身份運行應用程序。 – 2010-11-22 17:33:38

+0

主要是因爲'app.run()'不起作用。 – xj9 2010-11-22 23:28:26