2014-01-10 35 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

相关问题