Ich habe ein Stück Code, der eine Datei aus einem Formular per POST bekommt.Einfach Datei in Ordner in Django speichern
file = request.FILES['f']
Was unter anderem in
settings.MEDIA_ROOT
Ich war auf der Suche auf this answer, die einfachste Art und Weise des Sparens diese Datei in meinem Media-Ordner sein würde, aber ich hatte Fehler zu undefinierten Namen und ungültig „Chunks beziehen " Methode.
Es muss einen einfachen Weg geben, dies zu tun?
EDIT 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()
speichert es in der Datenbank eine Option zu importieren? Die geposteten Lösungen, auf die Sie Bezug nehmen, scheinen richtig zu sein. Können Sie die Fehlermeldung posten? Hast du den zweiten Beitrag zur Antwort gelesen - er sagt über den chunck Fehler und wie man ihn repariert –
Bitte sehe meine Änderungen, ich bekomme jetzt "globalen Namen 'ContentFile' ist nicht definiert" – Jon
Sie finden es in der [django. core.files] (https://docs.djangoproject.com/en/1.7/ref/files/file/#the-contentfile-class) Bibliothek –