Holen Sie sich den Pfad der Datei für eine statische Datei in den django-code
Habe ich eine django-Anwendung, die sendet aus eine E-Mail mit Bild-Dateien als MIME-attachments. Die E-Mails gesendet werden aus views.py aber um das Anhängen der Dateien, die ich brauche, um den vollständigen Pfad-Namen des Bildes(s), so dass python geöffnet werden können. Diese Dateien sind in der statischen Ordner in meiner app, aber ich kann nicht scheinen, einen Weg zu finden, bekomme ich den vollständigen Pfad der Datei auf dem Dateisystem , arbeitet in der Entwicklung Modus - Es funktioniert in der Produktion nach dem sammeln statisch, sondern in Entwicklung, es kann die Datei dann nicht finden, wie die statischen Dateien werden Ihnen von der einzelnen app-Ordner in der Entwicklung.
InformationsquelleAutor askvictor | 2015-05-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
project_dir.url fügen Sie an das Ende der Datei
project_dir.Einstellungen
machen dirs Medien & static_debug (fügen Sie Sie zu .gitignore)
Jetzt können Sie das Projekt ausführen oder direkt
Zugang von Ansichten
Zugang von Vorlagen
open()
InformationsquelleAutor madzohan
Verwenden Finder-Modul von
Django
String
result
ist die Datei-system-Pfad, und wenn dieser nicht gefunden wird, überprüfen Siesearched_locations
Das funktioniert nicht in der Produktion für mich. Warum?
in der Produktion, der statische Dateien ausliefert apache/nginx, so dass diese Methode nicht funktionieren, wie debug-Modell.
InformationsquelleAutor PaleNeutron
Nachdem ich viele Fehler und die folgende Sache, die für mich gearbeitet..
Angenommen, Sie haben folgende Verzeichnisstruktur (Dank @madzohan)
Und jetzt, wenn Sie wollen, um den Pfad der project_dir/static/image.py dann
In Ihrem project_dir/settings.py Datei definieren STATIC_DIR varaible auf die Datei, Umfang wie. ( Wenn noch nicht geschehen )
project_dir/settings.py
Nun in Ihrem app_name/views.py Datei aus, wo Sie wollen, um acess /static/image.jpg Datei
app_name/views.py
Dann können Sie acces zu image.jpg Datei throught Bild variable
Hoffe, das funktioniert gut für Sie
InformationsquelleAutor Mr. Suryaa Jha