2009-12-30 3 views
4

Web2Py를 사용하고 있으며 세션을 한 번만 가져오고 싶습니다. 페이지가로드 될 때마다가 아닙니다. 이것이 가능한가 ? 페이지에서 사용되는 "가져 오기 클라이언트"와 같이 세션 당 한 번만 가져옵니다.Web2py 세션 당 한 번만 가져 오기

답변

6

web2py에서 모델과 컨트롤러가 실행되고 가져 오지 않았습니다. 요청이 도착할 때마다 실행됩니다. admin에서 [compile] 버튼을 누르면 바이트 코드가 컴파일되고 다른 최적화가 수행됩니다.

앱 (모델 및 컨트롤러)이 "import somemodule"을 수행하는 경우 가져 오기 명령문은 모든 요청에서 실행되지만 "somemodule"은 실제로 실행될 때만 실제로 가져옵니다.

+0

괜찮습니다. 그래서 나는 아무것도 바꿀 필요가 없다는 말을 들었다. 나는 web2py 앱에서 "import somemodule"이라는 것을 어떻게 남겨 둘 수 있으며, 세션/요청 당 한 번 가져 오기/실행하도록 요청할 것이다. .... 내가 사용하고있는이 모듈은 전체 응용 프로그램에서 매우 중요하므로 일단 가져 오기만하면 필요에 따라 다른 함수에 arg/변수로 전달할 수 있습니다 ... – user233864

+0

좋아 ... 내가 요청이있을 때마다 실행되도록하고 싶지 않습니다. 세션 당 오직 한 번만 (IP 주소에서 연결 당 한 번) ?? 이것이 가능한가 ? – user233864

+1

예 아니요. models 폴더에 넣은 파일은 요청할 때마다 실행됩니다. 기간. 물론 이러한 파일에는 조건문이 포함될 수 있습니다. 원하는 코드 (테이블 정의 포함)를 모델/모듈 /로 옮겨 원하는 방식으로 조건부로 가져올 수 있습니다. 기본적으로 파이썬에서 할 수 있다면 web2py에서 할 수 있습니다. 유일한 차이점은 코드 (모델 또는 모듈)를 넣는 폴더에 있습니다. 모든 요청시 모든 모델을 실행하는 데 상당한 오버 헤드가 없다는 것을 추가하겠습니다. 또한 web2py는 바이트 코드 컴파일 된 모델을 RAM에 캐시하여 속도를 향상시킵니다. – mdipierro

관련 문제