2010-09-08 16 views
9

Próbuję uruchomić aplikację web.py na GAE. Mam nadzieję, że czegoś jak poniżej może działaćweb.py w Google App Engine

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

[...] 

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

Ale oczywiście przedmiotem app nie są zgodne z oczekiwaniami run_wsgi_app funkcji. Błąd msg mówi coś takiego jak app has no __call__ function, więc próbowałem przekazać app.run, ale to też nie działało.

Jak mogę wykonać połączenie z numerem run_wsgi_app?

Odpowiedz

11

Oto fragment aplikacji StackPrinter, webpy, który działa na górze 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

Fajnie, wielkie dzięki. –

0

Nie musisz importować ani używać run_wsgi_app, web.py ma metodę runcgi, która działa doskonale!

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

Dlaczego po prostu nie użyć 'app.run()'? web.py powinien być w stanie wykombinować, że musi uruchomić aplikację jako cgi. –

+0

Głównie dlatego, że 'app.run()' nie działa. – xj9