未找到 GAE 服务 URL 处理程序

GAE service URL handlers not found

我觉得我一定遗漏了一些明显的东西,但我能找到的所有示例似乎都表明这应该有效。

我的 app.yaml 文件:

runtime: python27
api_version: 1
threadsafe: true
service: myservice

handlers:
- url: /call
  script: main.app
- url: /.*
  script: main.app

当我访问这个 URL 时,我得到了我期望的输出:

http://myservice-dot-myappname.appspot.com/

但是,这会产生 404 Not Found:

http://myservice-dot-myappname.appspot.com/call

(注意:myservice 和 myappname 都被替换以隐藏真实姓名。)

我错过了什么??

为了完整起见,我有一个包含以下内容的 main.py(没有 main.app 文件,但是我创建它的 Google 示例也设置了这个方式):

import webapp2

class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.write('<?xml version="1.0" encoding="UTF-8"?>\n')
        self.response.write('<Response>\n')
        self.response.write('   <Say voice="woman" language="fr-FR">Chapeau!</Say>\n')
        self.response.write('</Response>\n')

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

问题出在 main.py 中定义的 app。对“/call”的请求将路由到此处,但您没有定义可捕获它的路由。如果您想一网打尽,请尝试:

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

或者您可能希望单独捕获和处理调用请求,例如:

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