Importing JSON data into Django View/Template

人走茶凉 提交于 2019-12-13 04:36:55

问题


So im working on a project and im using json data from a graphite graph and im trying to import it into the django views.py file and then get the value I want in the template. The import will be happening from a remote URL not from directly on the server itself.

here is my json:

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

This is what my views file will look like

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

I tried this and It did not work mostly because json open is not meant to pull externally.

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

回答1:


You can simply use urllib.urlopen to get external JSON data, like this:

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


来源:https://stackoverflow.com/questions/21055087/importing-json-data-into-django-view-template

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!