Tengo datos sin procesar y en este momento necesito usar los datos sin procesar para trazar un gráfico alto y pasar a Django, ¿alguien puede compartirme la forma básica de trazar un gráfico alto para que se muestre en la página HTML? Soy muy nuevo en python, Django y Highchart, he leído todo el material relacionado en Highchart pero todavía no entiendo y no puedo iniciarlo.
Desde este https://www.highcharts.com/demo/line-basic puedo contratar un gráfico, pero en mi caso necesito extraer todos los datos y trazar un gráfico. Intento aplicar {% block content%} y el título se basa en mi nombre de datos sin procesar en un marco de datos, pero aún no puedo crear un gráfico
Según su mensaje de error, parece que Django no puede determinar la URL nombrada como bar en sus archivos urls.py , creo que olvidó poner una URL nombrada como bar , para que la función javascript pueda obtener los datos de BarView.
A continuación, agregue un ejemplo, el nombre del proyecto es questions y cree una nueva aplicación llamada charts , la estructura del proyecto será así:
--gráficos
--preguntas
--db.sqlite3
--manage.py
1, questions/urls.py :
from django.conf.urls import url, include from django.contrib import admin from charts import views as charts_views urlpatterns = [ url(r'^bar$', charts_views.BarView.as_view(), name='bar'), url(r'^charts/', include('charts.urls')), url(r'^admin/', admin.site.urls), ] 2, charts/urls.py :
from django.conf.urls import url from . import views app_name = 'charts' urlpatterns = [ url(r'^$', views.index), ] 3, charts/views.py :
from django.shortcuts import render # Create your views here. from highcharts.views import HighChartsBarView import random def index(request): return render(request, 'charts/index.html') class BarView(HighChartsBarView): categories = ['Orange', 'Bananas', 'Apples'] @property def series(self): result = [] for name in ('Joe', 'Jack', 'William', 'Averell'): data = [] for x in range(len(self.categories)): data.append(random.randint(0, 10)) result.append({'name': name, "data": data}) return result 4, charts/templates/charts/index.html :
{% load staticfiles %}<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Hello</title> <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> <script type="text/javascript" src="{% static 'js/highcharts/highcharts.js' %}"></script> <script type="text/javascript"> $(function () { $.getJSON("{% url 'bar' %}", function(data) { $('#container').highcharts(data); }); }); </script> </head> <body> <div id="container" style="height: 300px"></div> </body> </html> 5, ejecute el servidor y, en el navegador, escriba http://127.0.0.1:8000/charts/
te mostrará los gráficos, espero que te ayude.