Ho un pezzo di codice che ottiene un file da un modulo tramite POST.Basta salvare il file nella cartella in Django
file = request.FILES['f']
Quale sarebbe il modo più semplice di salvare questo file alla mia cartella supporto in
settings.MEDIA_ROOT
stavo guardando this answer, tra gli altri, ma ho dovuto errori riferendosi ai nomi indefiniti e pezzi non validi" " metodo.
Ci deve essere un modo semplice per farlo?
EDIT Carica metodo nella mia 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()
è salvare nel database un'opzione? Le soluzioni pubblicate che ti sembra siano corrette. Puoi pubblicare il messaggio di errore? Hai letto il secondo post per la risposta - racconta l'errore di chunck e come risolverlo –
Vedi le mie modifiche, ora ho "nome globale" ContentFile "non è definito" – Jon
Puoi trovarlo nel [django. core.files] (https://docs.djangoproject.com/en/1.7/ref/files/file/#the-contentfile-class) Biblioteca –