Si, te aclaro que no lo hice en django. solo hice un graficador muy simple para mostrar graficos de evolucion de una serie de pentest
Va el codigo:
======================================================
def draw_app(app, resp):
#pdb.set_trace()
fechas = []
alto = []
medio = []
bajo = []
for reg in resp:
fechas.append(reg[1])
alto.append(reg[3])
medio.append(reg[4])
bajo.append(reg[5])
plt.plot(fechas,alto,'ro-', label='Altas {}'.format(reg[3]))
plt.plot(fechas,medio,'yo-', label='Medias {}'.format(reg[4]))
plt.plot(fechas,bajo,'go-', label='Bajas {}'.format(reg[5]))
plt.title('Evolucion de Vulnerabilidades en {}'.format(app.replace('_',' ').title()))
plt.xlabel('Fechas')
plt.ylabel('Cantidad')
plt.xticks(fechas)
plt.legend()
plt.grid()
grafico = '{}.png'.format(app)
plt.savefig(grafico)
plt.close()
================================================================
Con esta funcion armo el grafico que lleva el nombre de la aplicacion
Y con esta armo el html
================================================================
def crea_pagina(lista_app):
try:
with open('index.html', 'w') as idx:
idx.write('<html>\n')
idx.write(' <header>\n')
idx.write(' <body>\n')
for app in lista_app:
idx.write(' <p align="center"><img src ="{}.png"><b> </p>\n'.format(app))
idx.write(' <p align="center">Para ver los reportes presione <a href="reportes/{}">AQUI</a>\n </p><br>'.format(app))
idx.write(' </body>\n')
idx.write(' </header>\n')
idx.write('</html>\n')
except:
print('Hubo un error al generar el archivo index.html')
====================================================================
Espero te sirva
Angel C. Alvarez