Reputation: 350
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)
Upvotes: 0
Views: 1699
Reputation: 9097
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
Upvotes: 2