2013-03-23 75 views
0

我有一個名爲Account的模型,具有模型函數(請參閱下面的代碼)。我想在我的模板中顯示每個頁面上的用戶總數。我可以想到這樣做的唯一途徑就是在每個視圖中記錄帳戶。我還有什麼其他選擇?用戶可以喜歡嗎?我已經有權訪問每個視圖中的請求,帳戶擁有FK用戶。有權訪問用戶的每個請求的模型函數

def _balance(self): 
     aggregates = self.transactions.aggregate(sum=Sum('amount')) 
     sum = aggregates['sum'] 
     return D('0') if sum is None else sum 

回答

4

你想要一個上下文處理器。每次渲染模板時,都會給它一個「上下文」;這是一個類似字典的對象,其鍵是變量名,其值是變量的值。

例如..

創建一個文件我的應用程序/ context_processors

def get_balance(request): 
    do something 
    return {'balance': 0} 

它添加到您的設置:

TEMPLATE_CONTEXT_PROCESSORS = ('myapp.context_processors.get_balance',) 

完成。