为子域配置GAE应用程序app.yaml

Ser*_*rov 3 python google-app-engine yaml

我在GAE上有一些关于我的域名的子域名.例如,它们是blog.mysite.com,projects.mysite.com和docs.mysite.com.正如现在配置的那样,它们都使用以下设置进行处理main.py:

def main():
    applications = {
        'blog.mysite.com': webapp.WSGIApplication([('/', BlogHandler)]),
        'projects.mysite.com': webapp.WSGIApplication([('/', ProjectsHandler)]),
        'docs.mysite.com': webapp.WSGIApplication([('/', DocsHandler)]),
    }
    util.run_wsgi_app(applications[os.environ['HTTP_HOST']])
Run Code Online (Sandbox Code Playgroud)

如何将这些子应用程序分开以便由不同的模块处理,所以我会有类似的东西blog.py,projects.pydocs.py?谢谢!

Luk*_*ncl 8

这不是您问题的答案,但您可能需要查看webapp2.它是谷歌网络应用程序的直接替代品,增加了一些非常有用的功能,包括可以按域路由的新路由系统.

查看routes.py文件以获取示例.你想要DomainRoute:

    SUBDOMAIN_RE = '^([^.]+)\.app-id\.appspot\.com$'

    app = WSGIApplication([
        DomainRoute(SUBDOMAIN_RE, [
            Route('/foo', 'FooHandler', 'subdomain-thing'),
        ]),
        Route('/bar', 'BarHandler', 'normal-thing'),
    ])
Run Code Online (Sandbox Code Playgroud)

尼克约翰逊不久前写了一篇关于webapp2的博客文章.