TurboGears的。编写控制器方法

时间:2012-08-30 22:21:04

标签: controller turbogears

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

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

映射到RootController.index()方法。

如何将localhost:8080localhost:8080/映射到.index()localhost:8080/indexlocalhost:8080/index.html映射到._lookup()

1 个答案:

答案 0 :(得分:0)

不要在控制器中放置任何索引方法,只需使用_lookup返回正确的控制器,具体取决于你想要做什么。

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

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