Einfach speichern Sie die Datei in den Ordner in Django

Ich habe ein Stück code, das wird eine Datei aus einem Formular per POST.

file = request.FILES['f']

Was wäre die einfachste Möglichkeit, das speichern dieser Datei zu my media-Ordner in

settings.MEDIA_ROOT

War ich bei der Suche diese Antwort, unter anderem, aber ich hatte Fehler bezieht sich auf nicht definierte Namen und ungültig "Brocken" - Methode.

Muss es eine einfache Möglichkeit, dies zu tun?

BEARBEITEN
Upload-Methode in meinem views.py:

def upload(request):
    folder = request.path.replace("/", "_")
    uploaded_filename = request.FILES['f'].name

    # create the folder if it doesn't exist.
    try:
        os.mkdir(os.path.join(settings.MEDIA_ROOT, folder))
    except:
        pass

    # save the uploaded file inside that folder.
    full_filename = os.path.join(settings.MEDIA_ROOT, folder, uploaded_filename)
    fout = open(full_filename, 'wb+')

    file_content = ContentFile( request.FILES['f'].read() )

    # Iterate through the chunks.
    for chunk in file_content.chunks():
        fout.write(chunk)
    fout.close()
  • Speichern Sie es in der Datenbank eine option? Die geposteten Lösungen, die Sie refere scheint ungefähr richtig. Kannst du die Fehlermeldung? Haben Sie Lesen Sie im zweiten Beitrag die Antwort - es erzählt die chunck Fehler und wie man es beheben
  • Bitte Lesen Sie meinen änderungen bekomme ich jetzt "global name" ContentFile "ist nicht definiert"
  • Sie finden es in der django.core.Dateien - Bibliothek
  • Ah, das ist besser!! Vielen Dank, wenn Sie eine Antwort, die ich akzeptieren kann 🙂
  • Siehe den zweiten Teil des answerund nicht vergessen zu importieren ContentFile von django.core.Dateien
InformationsquelleAutor Jon | 2014-10-09
Schreibe einen Kommentar