-1

我正在接近 Google App Engine。我想实现一些处理程序,但我收到“糟糕!此链接似乎已损坏”。他们每个人的错误:

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


class MainPage(webapp.RequestHandler):


    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')


application = webapp.WSGIApplication([('/', MainPage)], debug=True)


def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()

如果我使用简单的打印功能(即打印“2gf”),一切都会完美运行。这是我的 app.yaml 文件:

application: sample-app
version: 1
runtime: python
api_version: 1

handlers:
- url: /aaa/aaa
  script: helloworld.py

- url: /bbb/bbb
  script: helloworld2.py

建议?

4

2 回答 2

3

您的代码很旧,并且 yaml 文件将 python 脚本/应用程序指向了错误的 url。试试下面的代码:

import webapp2

class HomePageHandler(webapp2.RequestHandler):
def get(self):
    self.response.headers['Content-Type'] = 'text/plain'
    self.response.write('Hello appengine!')

app = webapp2.WSGIApplication([('/', MainPage)],
                                   debug=True)

app.yaml 文件应该包含如下内容:

application: helloworld
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /.*
script: helloworld.py

此外,请阅读以下App Engine python 教程。它很好地解释了 App Engine 编码的主要概念。当我开始时,它对我帮助很大。

于 2012-12-25T23:43:48.073 回答
0

在您的app.yaml中,您没有任何路由说明/。因此,当您点击的 URL 与 YAML 中已有的 URL 不匹配时,您的应用程序不知道该怎么做,并向您显示该错误。为了解决这个问题,您需要为您的app.yaml. 正如@Tkingovr(给他+1)所提到的,您希望将默认(/.*)指向您的脚本。在您的底部添加该处理程序app.yaml并将其指向您的主脚本。但是我同意@Tkingovr - 现在切换到2.7(当你第一次学习时)从长远来看会让事情变得更容易:)

于 2012-12-26T00:20:56.443 回答