0

このindexメソッドは、すべての TurboGears コントローラー クラスの開始点です。それぞれのURL

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

メソッドにマッピングされRootController.index()ます。

localhost:8080localhost:8080/.index() butlocalhost:8080/indexlocalhost:8080/index.htmlにマッピングするにはどうすればよい._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 に答える