2012-08-30 3 views
0

index 메서드는 TurboGears 컨트롤러 클래스의 시작점입니다. URL이 터보 엔진. 컨트롤러 메서드 작성

  • localhost:8080/index
  • localhost:8080

  • localhost:8080/
    • 각각은 RootController.index() 방법에 매핑된다.

      은 어떻게 ._lookup().index()하지만 localhost:8080/indexlocalhost:8080/index.html-localhost:8080localhost:8080/ 매핑 할 수 있습니다?

  • +0

    Welcome to Stack Overflow! [귀하의 질문을 연구하십시오] (http://stackoverflow.com/questions/how-to-ask). [이미 시도한 것] (http://whathaveyoutried.com/)이 있으면 질문에 추가하십시오. 아니라면 질문을 먼저 연구하고 시도한 다음 다시 방문하십시오. –

    답변

    0

    컨트롤러 내부에 인덱스 방법을 사용하지 말고 원하는 작업에 따라 _lookup을 사용하여 올바른 컨트롤러를 반환하십시오. 이 HTTP에 대한 'INDEX1'를 반환합니다

    : // localhost를 : 8080에 http : // localhost를 :/HTTP에 대한 'INDEX2'를 반환하는 동안 : // localhost를 : 8080/인덱스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