Ich möchte heruntergeladene Bilder in einen Pfad speichern, der so aussieht: media/images/[user.pk]/direkt von urlretrieve aus der urllib-Bibliothek ist das möglich und was ist der eleganteste Weg?Wie man ein Verzeichnis in der Django-Mediendatei erstellt (am besten)?
Dies sind der verwendete Code-Schnipsel:
ich hier urlretrieve mit Pfad verwenden wie .../media/images/[user.pk]/[filename.jpg]
file_path, header = urlretrieve(image_url, os.path.join( MEDIA_ROOT, get_image_path( self, 'profile_image_'+str( datetime.utcnow().strftime("%Y%m%d_%H%M"))+'.jpg
Hier ist die definierte Funktion, die gewünschten Pfad mit dem Dateinamen zurückgibt
def get_image_path(instance, filename): return os.path.join('images', str(instance.pk), filename)
, wenn ich laufe ich eine Fehlermeldung erhalten, da die Datei nicht existiert:
FileNotFoundError an/rest/oauth2/google [Errno 2] Datei oder Verzeichnis: ‚C: \ xampp \ htdocs \ BookProjectFresh \ media \ images \ 21 \ profile_image_20160723_0801.jpg '
Ich weiß, dass ich das erreichen kann, indem ich zuerst die Datei in den temporären Ordner lade und dann von dort in das django-Modell lege und automatisch den Dateipfad erstelle, wenn er nicht existiert. aber dann habe ich 2 Dateien auf meinem PC mit gleichem Inhalt. Oder wäre der beste Weg, es mit os.path.makedirs zu tun? Bitte, wenn Sie einen anderen Weg kennen, teilen Sie es.