2015-01-29 3 views
2

나는 wheezy 웹 프레임 워크를 사용하고 있지만 같은 개념이 모든 프레임 워크에 적용될 수 있다고 생각합니다.라우터 게으름로드

나는 목록에 내 URL이 :

import WelcomeHandler 
import OtherHandler 

all_urls = [ 
    url('/', WelcomeHandler, name='HomePage'), 
    url('/some-other-page', OtherHandler, name='OtherPage'), 
    ... 
] 

이 일을하려면, 내가 파일에 모든 요청 핸들러를 가져올 필요가있다. 페이지가 많은 경우 이러한 가져 오기 기능을 사용하면 파일에 많은 가져 오기가 포함되어있어 제어가 어려워 질 수 있습니다. 성능상으로는 최상의 솔루션이 아닌 것 같습니다.

이러한 요청 처리기를 게을리 가져 오는 일반적인 방법은 무엇입니까? 예를 들어 WebApp2 프레임 워크를 사용하면 도트 표기법을 사용하여 문자열로 지정할 수 있습니다. http://webapp-improved.appspot.com/guide/routing.html#lazy-handlers

문서에서 wheezy web에이 옵션이없는 것 같습니다. 비슷한 것을 어떻게 구현할 수 있습니까?

감사합니다.

답변

2

나는 위지에 익숙하지 않아요하지만 당신이해야 할 모든 통화 url()하고 목록에 추가 할 경우, 내 방법은 핸들러 모듈 내부 install 방법이 될 것입니다 :

from importmodule import all_urls 

... 
install("HomePage", "/", WelcomeHandler)  

def install(name, path, callable): 
    all_urls.append(url(path, callable, name=name)) 
관련 문제