2017-09-13 6 views
0

Ich habe ein Stück Code, das ein Bild erstellt mit Matplotlib in Django und speichert es im Stammverzeichnis. Ich muss den Ordner ändern, in dem matplotlib das Bild im/static/img-Ordner speichert.Django Bild im Ordner speichern

if (len(funcion) == 2): 
     plotter = plot_regions([ 
      [(lambda x: (matrizRestricciones[0][2]-matrizRestricciones[0] 
      [0]*x)/matrizRestricciones[0][1],True), 
      (lambda x: (matrizRestricciones[1][2]-matrizRestricciones[1] 
      [0]*x)/matrizRestricciones[1][1],True)]], xlim=(0, 10), ylim=(0,10)) 
     plt.grid() 
     plt.savefig("/static/img/imagen.png") 
     plt.close() 

Irgendeine Idee, wie man sie dort speichert?

Vielen Dank im Voraus.

Antwort

0

Try this:

import os 
from django.conf import settings 

# ... your code ... 
# ... 
plt.savefig(os.path.join(settings.BASE_DIR, 'static/img/imagen.png')) 

Hinweis: aus dem Code, scheint es, dass, während Sie das Bildmotiv Speichern Sie sie nicht einen eindeutigen Namen zu geben. Wenn Sie also ein neues Bild erstellen, ersetzt es das ältere Bild. Wenn das das gewünschte Verhalten ist, ignoriere dies. Wenn nicht, können Sie uuid.uuid4 verwenden, um eindeutige Namen für Ihre Bilder zu generieren.

+0

Alternativ könnten Sie 'plt.savegig (settings.STATIC_ROOT, 'imgaen.png')' – deaspo

+0

Yup, das macht den Trick. Vielen Dank! – Guardsoul

Verwandte Themen