Python 使用webapp2';谷歌应用程序引擎上的域名路由

Python 使用webapp2';谷歌应用程序引擎上的域名路由,python,google-app-engine,routing,subdomain,webapp2,Python,Google App Engine,Routing,Subdomain,Webapp2,我正在尝试使用webapp2将需求路由到特定用户。路由的定义如下所示: app = webapp2.WSGIApplication([ DomainRoute("<subdomain>." + os.environ["HTTP_HOST"], [ webapp2.Route('/',ClientHandler)]),

我正在尝试使用webapp2将需求路由到特定用户。路由的定义如下所示:

app = webapp2.WSGIApplication([
                                DomainRoute("<subdomain>." + os.environ["HTTP_HOST"], [
                                    webapp2.Route('/',ClientHandler)]),
                            ('/', MainHandler)],
                            debug=True)
app=webapp2.WSGIApplication([
DomainRoute(“.”+os.environ[“HTTP_主机”][
webapp2.Route(“/”,ClientHandler)],
(“/”,MainHandler)],
debug=True)

处理程序都存在,目前,我的ClientHandler应该只吐出当前子域,但当我当前转到nosub.localhost:8090时,它甚至没有到达服务器。我需要编辑我的主机文件吗?如果是这样,添加一个通配符如*.localhost是否有效,这样任何子域都可以工作?

是的,您需要编辑主机文件-
无论什么。localhost
不会自动解析为
127.0.0.1
。或者,为自己节省一些时间并使用


但是,您的代码有一个严重的问题:您正在仅在第一次请求时运行的上下文中使用
os.environ[“HTTP\u HOST”]
。这意味着您从应用程序的第一个请求中提取主机名,并将其用作它和所有后续请求的基本名称——这绝对不是您想要的。例如,如果应用程序实例的第一个用户来自
subdomain.myapp.com
,则您将为
subdomain.subdomain.myapp.com

@BillPull哪个主机名设置路由?在脚本运行时,它无法知道在其生命周期中可以访问哪一组主机名。