2014-01-10 36 views
0

因此,我正在使用json數據處理項目和im,並試圖將它導入到django views.py文件中,然後在模板中獲取我想要的值。導入將從遠程URL發生,而不是直接來自服務器本身。將JSON數據導入到Django視圖/模板

這裏是我的JSON:

[{"target": "stocks.shared (last: 4204.0)", "datapoints": [[4379.0, 1389225600], [4204.0, 1389312000]]}] 

這是我的意見的文件將是什麼樣子

def get_context_data(self, **kwargs): 
    context = super(IndexView, self).get_context_data(**kwargs) 
    context['stocks'] = JSON PULL 
    return context 

我嘗試這樣做,因爲JSON開放並不意味着外部上拉它沒有工作大多。

json_data=open('URL') 
context['shared'] = json.load(json_data) 

回答

1

您可以簡單地使用urllib.urlopen獲得外部JSON數據,如:

from urllib import urlopen 

def get_context_data(self, **kwargs): 
    context = super(IndexView, self).get_context_data(**kwargs) 
    my_stock_url = 'http://mystockpage.org/stocks/' 
    context['stocks'] = json.loads(urlopen(my_stock_url).read()) 
    context['last_stock'] = stocks[0]['target'].split()[2].strip(')') 
    return context 
+0

感謝這個偉大的工程! :)所以現在在我的模板中我調用{{stocks}}我將不得不使用django過濾器來過濾這些數據嗎?我真的只想(最後:4204.0)那部分,但使用剪切對我來說沒有問題:)這對我的作品只是要看看是否有更有效的方式 '{{stocks | cut:「[{u'target ':u'stocks.shared(last:「| slice:」:4「}}' – Joey

+0

我建議解析視圖中的值,你可以通過''stocks [0] ['target']來實現。 )[2] .strip( ')')''。 – niekas

+0

這個工程!謝謝你一噸! – Joey

相關問題