web.py URL 处理:多个子应用重定向

2 投票
1 回答
1328 浏览
提问于 2025-04-16 14:16

在使用 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文件里创建子应用。至少当我把子应用移到自己的模块时,一切就都正常了。

撰写回答