2010-12-14 10 views
0

web2py 컨트롤러에서 전역 변수를 사용하고 싶습니다만, 컨트롤러가 요청할 때마다로드됩니다. 따라서 내 전역 변수는 어디에서나 액세스 할 수 있지만 읽기 전용입니다. 변경 사항은 전체 세션/요청에 반영되지 않습니다.web2py 컨트롤러의 전역 변수

어딘가에 전역을 정의 할 수 있습니까? 컨트롤러에 전역 객체를 넣으려고했는데 model/db.py에 넣으려고했습니다.

+0

http://www.mail-archive.com/[email protected]/msg30072.html – Anders

답변

2

데이터베이스를 사용해보십시오. 예를 들어, 당신은 설정 테이블을 만들 수 있습니다

db.define_table('settings, 
    Field('max_size', 'integer', default=10), 
    Field('summary', 'text', 'abc'), 
    ... 
) 
# create an instance of settings table 
settings = db(db.settings.id > 0).select().first() 
if not settings: 
    settings = db.settings.insert() 

을 그리고 그것을 액세스 :

settings.max_size # get the value 
settings.update_record(summary=new_summary) # set a value 
+0

나는 그것을 시도해야한다. 데이터베이스를 전혀 사용하지 않겠다는 생각은했지만 지금은 스케일링 등을 가능하게하는 아키텍처 때문에 전역 변수를 피하는 것이 중요합니다. 나는 setattr 후에 update + commit 명령으로 db 테이블 접근을 캡슐화하는 객체 작업을 시작했다. – Jiri