Wie bekomme ich ein Diagramm von Matplotlib in Django Vorlagen?

Angesichts dieses Beispiels von hier genommen :

def simple(request): import random from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas from matplotlib.figure import Figure from matplotlib.dates import DateFormatter fig=Figure() ax=fig.add_subplot(111) x=[] y=[] now=datetime.datetime.now() delta=datetime.timedelta(days=1) for i in range(10): x.append(now) now+=delta y.append(random.randint(0, 1000)) ax.plot_date(x, y, '-') ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d')) fig.autofmt_xdate() canvas=FigureCanvas(fig) response=django.http.HttpResponse(content_type='image/png') canvas.print_png(response) return response 

Wie kann ich die Ansicht so schreiben, dass eine Vorlage und eine Variable wie return render_to_response ('template.html',{'graph': <graph generated by matplotlib> } verwendet wird: return render_to_response ('template.html',{'graph': <graph generated by matplotlib> }

  • Django, um seine eigene NTLM Authentication (HTTP Headers & all) zu tun
  • Django ForeignKey _set auf einem geerbten Modell
  • Wie überschreibe ich delete () auf einem Modell und habe es noch mit verwandten Löschungen arbeiten
  • Neo4django Beziehung Eigenschaften
  • So verwenden Sie das BlobService-Objekt von Azure, um eine Datei hochzuladen, die einem Django-Modell zugeordnet ist
  • 'Ungültige Eingabesyntax für Typ Inet' db Fehler in Django App mit Postgres und Gunicorn + Nginx als Reverse Proxy
  • One Solution collect form web for “Wie bekomme ich ein Diagramm von Matplotlib in Django Vorlagen?”

    Als ich eine ähnliche Situation hatte, benutzte ich zwei Ansichten. Man verwendete matplotilb, um ein PNG zu erzeugen, während das andere verwendete Django-Vorlagen verwendet, um eine HTML-Seite zu erstellen, die das PNG (und einige andere Daten) präsentierte. Der Param, der an die Vorlage gesendet wurde, war nur der PNG-Dateiname. Die andere Ansicht wird dann an die entsprechenden .png URLs angehängt.

    Ein Problem ist, wenn Sie einige Parameter berechnen wollen, die sowohl für die Erzeugung von HTML und PNG verwendet werden. Ich habe solche Informationen im Dateinamen verschlüsselt. Das ist schmerzhaft und leicht hackig, aber es ist auch gut für den Benutzer, wenn alle Infos im Dateinamen sind, wenn sie es sichert.

    Python ist die beste Programmiersprache der Welt.