1

我正在尝试在 Google App Engine 中使用 Python 学习,但无法使教程正常工作。但最终,我想编写一个 Python 脚本,将服务器文件夹中的文件列表返回给 JavaScript。

这是我目前拥有的:

+MainProj  
   + static  
      +scripts  
          . __init__.py  
          . helloworld.py  
   . app.yaml

在 helloworld.py

import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('Hello, webapp2 World!')
app = webapp2.WSGIApplication([('/.*', MainPage)], debug=True)

在 app.yaml

application: applicationname
version: 1
runtime: python27
api_version: 1
threadsafe: yes

handlers:
- url: /.*
  script: static.scripts.helloworld.app

我收到服务器错误

HTTP Error 500 (Internal Server Error): An unexpected condition was encountered while the server was attempting to fulfill the request.

任何人都可以帮助我的设置有什么问题?

4

2 回答 2

3

包路径('static.scripts.helloworld.app')中的每个文件夹都需要__init__.py在其中正确导入,因此要么将一个文件夹添加到'static',要么(在我看来更明智)将 helloworld.py 移至顶部,并在您的 app.yaml 中使用“helloworld.app”。

于 2012-11-25T10:48:30.377 回答
-1

您的app.yaml处理程序中需要的只是:

 - url: /.*
   script: static.scripts.helloworld.py

并确保您helloworld.py在底部代码中也有实际启动应用程序和侦听器:

from google.appengine.ext.webapp import util
# granted, you might want to replace "webapp" with "webapp2" here

def main():
    util.run_wsgi_app(app)

if __name__ == '__main__':
    main()
于 2012-11-25T06:35:11.593 回答