python - How to embed matplotlib graph in Django webpage? -


so, bear me i'm new django, python, , web-development in general. want display graph i've made using matplotlib. had working home page automatically redirects png of graph (basically tab in browser graph displayed). however, want see actual homepage graph embedded. in other words, want see navigation bar, etc. , graph in body of site.

so far, i've searched , sort of have idea of how accomplish this. i'm thinking having special view returns graph. then, somehow accessing png image img src tag in template use display data.

graph code:

from django.shortcuts import render import urllib import json django.http import httpresponse matplotlib.backends.backend_agg import figurecanvasagg figurecanvas matplotlib.figure import figure import datetime dt import pdb  def index(request):     stock_price_url = 'https://www.quandl.com/api/v3/datatables/wiki/prices.json?ticker=googl&date.gte=20151101&qopts.columns=date,close&api_key=key'      date = []     price = []      #pdb.set_trace()     source_code = urllib.request.urlopen(stock_price_url).read().decode()      json_root = json.loads(source_code)     json_datatable = json_root["datatable"]     json_data = json_datatable["data"]      day in json_data:         date.append(dt.datetime.strptime(day[0], '%y-%m-%d'))         price.append(day[1])      fig=figure()     ax = fig.add_subplot(1,1,1)      ax.plot(date, price, '-')      ax.set_xlabel('date')     ax.set_ylabel('price')     ax.set_title("google stock")      canvas = figurecanvas(fig)     response = httpresponse(content_type='image/png')     #canvas.print_png(response)     return response 

template code:

{% extends "home/header.html" %}   {% block content %}   <p>search stock begin!</p>   <img src="home/graph.py" />    {% endblock %} 

what i'm getting now:

current page


Comments

Popular posts from this blog

sql server - Cannot query correctly (MSSQL - PHP - JSON) -

php - trouble displaying mysqli database results in correct order -

C++ Linked List -