2012-12-03 211 views
0

我想要一些處理緩存地理編碼結果的代碼,但我不確定放置它的位置。一個特定的.py文件?自定義管理器?模型方法?視圖?Django - 在哪裏放置某些代碼

這段代碼基本上會啓動請求,在模型中操作/存儲結果並緩存數據。

我應該在哪裏放置處理很多事情(請求,模型,緩存)的代碼?

+0

我會編寫一個普通的Python模塊/類來處理獲取數據並清理它,並將其與模型管理器連接起來,該模型管理器從獨立模塊創建或返回模型實例 –

回答

0

因爲它們都與地理相關,所以我會將它放在它自己的模塊中(即geo.py),然後在其中創建幫助程序方法和類,以便在其他模塊中導入和使用。舉例來說,我只是猜測你需要的功能是什麼,也許是這樣的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()