2010-11-23 5 views
3

Ich möchte in der Lage sein, eine Datei hochzuladen und bei jedem Upload die vorhandene Datei mit der neuesten Version zu überschreiben/zu ersetzen.Wie kann ich eine hochgeladene Datei ersetzen/überschreiben?

from django.core.files.storage import FileSystemStorage 
fs = FileSystemStorage(location='C:/temp', base_url='/attachments')  
class Import(models.Model): 
    file = models.FileField(upload_to='data', storage=fs) 

Antwort

1

Ich weiß nicht, ob dies der beste Ansatz ist, aber die folgenden Zeilen haben mir geholfen, die vorhandene Datei zu überschreiben/zu ersetzen.

upload_dir_path = Setting.objects.get(entry__exact='upload_path').value 
delete_files(upload_dir_path) 
upload = form.save(commit=False) 
upload.file.storage.location = upload_dir_path    
upload = form.save() 
+0

wenn jemand Interesse an dieser Lösung finden Sie unter [Thnee beantworten hier] (http://stackoverflow.com/questions/4394194/replacing-a-django-image-doesnt-delete-original) für eine detaillierte Erläuterung –

Verwandte Themen