index
方法是任何TurboGears控制器类的起点。每个网址
localhost:8080
localhost:8080/
localhost:8080/index
映射到RootController.index()
方法。
如何将localhost:8080
和localhost:8080/
映射到.index()
但localhost:8080/index
和localhost:8080/index.html
映射到._lookup()
?
答案 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