2017-03-28 14 views
0

get_context_data関数で変数を設定した場合、その変数にget_queryset関数でアクセスする方法はありますか?Djangoクラスベースビューは、get_querysetメソッドのget_contextで設定された変数にアクセスします

def get_context_data(self, **kwargs): 
    coindex_btc_price = requests.get("http://api.coindesk.com/v1/bpi/currentprice.json") 

def get_queryset(self, **kwargs): 
    coindex_btc_price = requests.get("http://api.coindesk.com/v1/bpi/currentprice.json") 

私はそれを2回設定したくありません。

答えて

3

私はあなたのための値を保持するインスタンス変数リファクタリングや作成します。

def __init__(self): 
    super(ClassName, self).__init__() 
    self.coindex_btc_price = None 

def get_coindex_price(self): 
    if self.coindex_btc_price is None: 
     self.coindex_btc_price = coindex_btc_price = requests.get("http://api.coindesk.com/v1/bpi/currentprice.json") 
    return self.coindex_btc_price 

def get_context_data(self, **kwargs): 
    coindex_btc_price = self.get_coindex_price() 

def get_queryset(self, **kwargs): 
    coindex_btc_price = self.get_coindex_price() 
関連する問題