0

index方法是任何 TurboGears 控制器类的起点。每个网址

  • localhost:8080
  • localhost:8080/
  • localhost:8080/index

映射到RootController.index()方法。

我如何将localhost:8080and映射localhost:8080/.index() butlocalhost:8080/indexlocalhost:8080/index.htmlthe ._lookup()

4

1 回答 1

0

不要在控制器中放置任何索引方法,只需使用 _lookup 根据您想要执行的操作返回正确的控制器。

这将为http://localhost:8080http://localhost:8080/返回“INDEX1”,同时为http://localhost:8080/indexhttp://localhost:8080/index.html返回“INDEX2”

class IndexController(BaseController):
    @expose()
    def index(self, *args, **kw):
        return 'INDEX2'

class NoPathController(BaseController):
    @expose()
    def index(self, *args, **kw):
        return 'INDEX1'

class RootController(BaseController):
    @expose()
    def _lookup(self, *remainder, **params):
        if not remainder:
            return NoPathController(), remainder

        return IndexController(), remainder
于 2012-09-22T17:53:49.510 回答