URL /TestForm处理程序与任何处理程序都不匹配



我正在尝试制作一个简单的表单,该表单通过使用Python2.7和Google App Engine在网页上显示相同的输入,并在本地运行的Google App Engrion在网页上显示相同的输入。我会遇到错误" http错误500 " ,并尝试解决它,如下所示,但没有运气。

这是app.yaml文件:

runtime: python27
api_version: 1
threadsafe: true
handlers:
- url: /
script: test.app

这是测试文件:

import webapp2
form="""
<form action="/testform">
<input  name= "q">
<input type="submit">
</form>
"""
class MainPage(webapp2.RequestHandler):
    def get(self):
        self.response.out.write(form)
class TestHandler(webapp2.RequestHandler):
    def get(self):
        q = self.resquest.get("q")
        self.response.out.write(q)

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

当我运行上面的文件时,我会收到此消息:

URL"/testform"与任何处理程序不匹配。

我已经尝试在/testform URL中包含一个单独的处理程序:

handlers:
- url: /
  script: test.app
- url: /testform
  script: test.app

当我这样做时,我会收到以下消息:

Localhost目前无法处理此请求。 HTTP错误500

我也尝试更改/到。*以及app.yaml文件上的/。

handlers:
- url: .*
  script: test.app

和:

handlers:
- url: /.*
  script: test.app

具有相同的结果:

Localhost目前无法处理此请求。 HTTP错误500

将评论转换为答案,以免留下问题。

在您的初始版本app.yaml文件中,您只有一个带有url: /模式的处理程序。/testform请求与此处理程序不匹配,该处理程序解释了初始错误消息:

URL"/testform"与任何处理程序不匹配。

所有随后的尝试都可以从处理程序映射的潜在映射中进行(我要缩短url: .*,但这只是一个个人喜好,任何一个都应该这样做(,错误消息实际上更改为:

Localhost目前无法处理此请求。HTTP错误500

但是此错误具有不同的根本原因-resquest vs request在(现在正确映射的(TestHandler.get()方法中。

最新更新