2010-09-08 50 views
9

Tôi đang cố gắng tải ứng dụng web.py chạy trên GAE. Tôi hy vọng rằng sth như sau có thể làm việcweb.py trên 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) 

Nhưng rõ ràng là đối tượng app không phù hợp với mong đợi của các run_wsgi_app chức năng của. Thông báo lỗi nói sth như app has no __call__ function, vì vậy tôi đã cố gắng vượt qua app.run thay vào đó, nhưng điều đó không hoạt động.

Tôi làm cách nào để thực hiện cuộc gọi đến run_wsgi_app hoạt động?

Trả lời

11

Đây là đoạn mã StackPrinter, ứng dụng webpy chạy trên ứng dụng của 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

Thật tuyệt, cảm ơn rất nhiều. –

0

Bạn không cần phải nhập hoặc sử dụng run_wsgi_app, web.py có phương pháp runcgi hoạt động hoàn hảo!

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

Tại sao không chỉ sử dụng 'app.run()'? web.py sẽ có thể tìm ra rằng nó cần phải chạy các ứng dụng như cgi. –

+0

Chủ yếu là do 'app.run()' không hoạt động. – xj9