python - url "/web"与任何处理程序都不匹配

标签 python google-app-engine app.yaml

我一直在尝试在 appengine 上做一个简单的 web 应用程序,但我遇到了处理程序的问题。 这是我的代码:

我的app.yaml文件:

application: test-app
version: 1
runtime: python27
api_version: 1
threadsafe: true

handlers:
- url: /web/.*
  script: AppWebInterface.application

我的AppWebInterface.py文件:

import webapp2

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

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

当我运行 dev_server 并访问 localhost:8080/web 时,出现以下错误:

The url "/web" does not match any handlers.

最佳答案

我发现两个问题,一个掩盖了另一个。

首先,/web/.* 将匹配 /web//web/foo,但不匹配 /web。有几种方法。一是使用

- url: /web.*

但这也将匹配 /webelos。许多这对您来说不是问题,因为下一步会捕获它。

下一个问题是,将 /web/foo 传递给应用程序后,没有任何内容将该 url 模式映射到类。 WSGIAppliction 设置为处理 /,但在 app.yaml 中给定处理程序的情况下,此类 URL 不会到达应用程序。

如果您在开始时遇到困难,请尝试将 app.yaml 中的处理程序更改为 - url:/。进行一些简单的工作,然后从那里添加处理程序。

关于python - url "/web"与任何处理程序都不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19348246/

相关文章:

python - 如何在 django 翻译中保留内联链接?

python - 谷歌应用引擎: unitest works nosetest fails

python - GAE NDB 访问结构化重复列表中的子实例(字段)

python - google.appengine.api.yaml_errors.EventListenerYAMLError : mapping values are not allowed here

python - reportlab - 无法将物理打印页面的上边距设置为零

python - 无法从 BeautifulSoup 或 lxml 中抓取网页

google-app-engine - 删除 Google App Engine 应用程序

PHP Google App Engine YAML 找不到目录

google-app-engine - 具有自定义域的云存储上的 SSL

python - 是否可以使用docker创建一个永久的python服务器?