2012-12-03 2 views
0

지오 코드 결과를 캐싱하는 데 필요한 코드가 필요하지만 위치를 지정할 위치가 확실하지 않습니다. 특정 .py 파일? 맞춤 관리자? 모델 방법? 전망?Django - 특정 코드를 배치 할 위치

코드 조각은 기본적으로 요청을 실행하고 모델의 결과를 조작/저장하며 데이터를 캐시합니다.

많은 부분 (요청, 모델, 캐싱)을 다루는이 코드는 어디에 두어야합니까?

+0

내가 좋겠를 예를 들어, 난 그냥 당신의 필수 기능이 geo.py이 같은 아마 뭔가, 무엇에 같은데요 데이터 가져 오기 및 정리 작업을위한 일반 파이썬 모듈/클래스 작성 및 독립 실행 형 모듈에서 모델 인스턴스를 생성하거나 반환하는 모델 관리자에게 연결 –

답변

0

모두 지리 정보와 관련되어 있으므로 자체 모듈 (예 : geo.py)에 넣은 다음 다른 모듈에서 가져 와서 사용할 수있는 도우미 메소드 및 클래스를 만듭니다.

class GeoConnection(object): 
    def __init__(self, whatever, init, vars, here): 
     # initialize connection 

    def get_country_code(self, some_var): 
     # fire off request and return value 

class GeoCache(object): 
    def store(self, key, value): 
     # code 

    def retrieve(self, key): 
     # code 

그런 다음 다른 모듈이 같은 수행 할 수 있습니다 :

from your_app.geo import GeoConnection 

gc = GeoConnection(whatever, init, vars, here) 
some_model.country_code = gc.get_country_code(some_var) 
some_model.save()