web.py URL 处理:多个子应用重定向
在使用 web.py 框架的时候,你可以把一个网址重定向到一个子应用。
比如说,代码文件叫做 code.py:
import web
import subapp1
urls = (
"/sub1", subapp1.app,
"/(.*)", "index"
)
....
这个过程其实很简单。
但是,当我在写 subapp1.py 的时候,它有自己的一些网址处理程序。如果我想把某个网址,比如说 '/sub2',重新指向另一个子应用(subapp2),我就遇到问题了。
之前在 subapp1.py 里:
import web
import subapp2
urls = (
"/sub2", subapp2.app,
"/(.*)", "some_local_class"
)
....
对 "/sub1/sub2/" 的 GET 请求是由 subapp1.py 中的 "some_local_class" 来处理的。但我需要这个网址重新指向 subapp2.py。
我是不是漏掉了什么?或者说,这种网址处理的方法在 web.py 中并不是推荐的做法?
1 个回答
1
经过一番尝试,我发现web.py本身没有问题,从一个子应用转到另一个子应用也没问题,一切都运作得很好。
问题出在我的方法上。不要试图在包的init.py文件里创建子应用。至少当我把子应用移到自己的模块时,一切就都正常了。