Ver Mensaje Individual
  #10 (permalink)  
Antiguo 04/05/2016, 00:33
sarayo2
 
Fecha de Ingreso: noviembre-2015
Mensajes: 9
Antigüedad: 9 años
Puntos: 0
Respuesta: Gráfico con Highchart con los datos devueltos de una vista

Hola,

Yo también estoy trabajando con higtchart y no he hecho nada por javascripts.
Me he creado el views, y he cargado el html a través del load chartit.

Te pongo un ejemplo de mi ventana. Es importante que pongas esto en la ventana en el container.
{% load chartit %}
{{ cht|load_charts:"container" }}

De todas formas te paso el ejemplo completo por si te sirve.
plantilla.html

{% extends "bootstrap/layouts/12.html" %}
{% load crispy_forms_tags %}
{% load chartit %}
{{ cht|load_charts:"container" }}
{% load django_tables2 %}
{% block all %}

<form name="form1" action="" method="post" charset="utf-8"></form>{% csrf_token %}

<h4>Gráficas</h4>

<ul class="nav nav-tabs">
<li {% if not u %}class="active"{% endif %}><a href="#peticion" data-toggle="tab">Petición</a></li>
{% if u %}
<li class="active"><a href="#graficas" data-toggle="tab">Gráficas</a></li>
{% endif %}
</ul>

<script src="{{STATIC_URL}}js/perfilado/utils.js" ></script>
<script type="text/javascript" src="{{STATIC_URL}}js/jquery-latest.js"></script>
<script type="text/javascript" src="{{STATIC_URL}}js/jquery.tablesorter.js"></script>
<script type="text/javascript" src="{{STATIC_URL}}js/jquery-1.7.1.js"></script>
<script type="text/javascript" src="{{STATIC_URL}}js/highcharts/js/highcharts.js"></script>
<br/>
<div class="tab-content">
<div class="tab-pane {% if not u %}active{% endif %}" id="peticion">
<h4>1. Introduzca la semana clave a partir de la cual buscar</h4>
{% crispy form %}
</div>
<div class="tab-pane {% if u %}active{% endif %}" id="graficas">
{% load chartit %}
{{ cht|load_charts:"container" }}
<div id='container'>Gráfico</div>

</div>
</div>
{% endblock %}

views.py
id_64_resoluc = datos_extraidos.objects.filter(id_serie=64)
id_58_entrad = datos_extraidos.objects.filter(id_serie=58)
id_70_stock = datos_extraidos.objects.filter(id_serie=69)

# id = datos_extraidos.objects.filter(id_serie__in=selecc ion)
# print "id: ", id

ds = DataPool(series=[{'options': {'source': id_64_resoluc}, 'terms': ['clave', {'Resueltas': 'valor'}]},{'options': {'source': id_58_entrad}, 'terms':[{'clave_2': 'clave', 'Entradas': 'valor'}]},{'options': {'source': id_70_stock}, 'terms': [{'clave_3':'clave', 'Stock': 'valor'}]}])
cht = Chart(datasource=ds, series_options = [{'options':{'type':'line', 'stacking': False }, 'terms':{'clave': ['Resueltas'], 'clave_2': ['Entradas'],'clave_3': ['Stock'] }}], chart_options = {'title': {'text': 'Peticiones España'},'xAxis': {'title': {'text': 'Semanas'}}})

except MySQLdb.Error, e:
print "Mysql Error %d: %s" % (e.args[0], e.args[1])

return render(request, 'perfilado/informes/graficas_espana/index.html', {'cht': cht})


models.py
class datos_extraidos(models.Model):

id_serie = models.IntegerField(db_column='id_serie',primary_k ey=True)
clave = models.IntegerField(db_column='clave')
valor = models.DecimalField(db_column='valor', max_digits=9, decimal_places=2)

class Meta:
db_table = u'datos_extraidos'

Espero te sirva