我的网站已启动并运行,我的app.yaml文件中指定了大约100个网址。因为app.yaml限制为100个网址,我试图弄清楚如何将app.yaml指定的路由指令传输到main.py.我想修改(缩短)app.yaml文件以将所有请求发送到main.py,然后我希望main.py以app.yaml当前的方式路由请求。我一直在试验下面的三个文件,但无法得到#34的响应;来自MainHandler的Hello在test1.py"如果我请求/ test1以外的任何URL。为什么我没有得到#34;来自MainHandler的浏览器响应test1.py"请求/ xyz的网址?
测试1:
请求:/ test1
响应:来自MainHandler的test1.py
测试2:
请求:/ example
响应:来自main.py
中的ExampleHandler的HelloTest3的:
请求:/ xyz
响应:main.py
中的Hello MainHandler为什么上面没有测试3也会导致#34;来自MainHandler的响应在test1.py"我该如何实现呢?
main.py:
#!/usr/bin/env python
import webapp2
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.write('Hello MainHandler in main.py<br>')
import test1
test1.app
class ExampleHandler(webapp2.RequestHandler):
def get(self):
self.response.write('Hello from ExampleHandler in main.py<br>')
app = webapp2.WSGIApplication([
('/example', ExampleHandler),
(r'.*', MainHandler)],
debug=True)
test1.py:
import webapp2
class MainHandler(webapp2.RequestHandler):
def get(self):
self.response.write('Hello from MainHandler in test1.py')
app = webapp2.WSGIApplication([(r'.*', MainHandler)], debug=True)
if __name__ == "__main__":
app
的app.yaml:
application: test-for-rr
version: 1
runtime: python27
api_version: 1
threadsafe: yes
handlers:
- url: /favicon\.ico
static_files: favicon.ico
upload: favicon\.ico
- url: /test1
script: test1.app
- url: .*
script: main.app
libraries:
- name: webapp2
version: "2.5.2"
答案 0 :(得分:0)
优先级层次结构来自app.yaml - &gt;程序中指定的处理程序。
/test1
时,app.yaml
会将您的请求路由到test1.app
(因为它与/test1
路由匹配),并将您的请求路由到test1.MainHandler
。< / LI>
/test3
时,app.yaml
会将您的请求路由到main.app
(因为它与.*
路由匹配),并将您的请求路由到main.MainHandler
。< / LI>