Je suis tellement proche ... mais je ne vois pas vraiment la connexion de la vue de téléchargement au modèle. Lorsque j'utilise le rappel dans le FileField
du modèle, le téléchargement fonctionne, mais Je ne suis pas sûr d'où la copie du fichier a lieu. L'objectif est de s'assurer que chunking
est en cours, mais l'action de copie de fichier semble être caché quelque part?Uploads de fichiers Django et Model FileField
Voici ce que j'ai:
Modèle:
def get_media_upload_dir(instance, filename):
user_id = instance.user.id
upload_dir = "%s/%d/%s" % (settings.MEDIA_ROOT, user_id, filename)
print "Upload dir set to: %s" % upload_dir
return upload_dir
class MediaFile(models.Model):
media_file = models.FileField(upload_to=get_media_upload_dir)
download_count = models.PositiveIntegerField(default=0)
Vue:
def file_upload(request, course_id):
if request.method == 'POST':
form = FileUploadForm(request.POST, request.FILES)
if form.is_valid():
uploaded = form.cleaned_data['file_upload']
mediaFile = MediaFile(media_file=uploaded,
owner=request.user.profile,
creator=request.user.profile)
mediaFile.save()
return HttpResponseRedirect('/course/%s/' % course_id)
else:
form = FileUploadForm()
return render_to_response('course/file_upload.html', {'form':form,'course':course}, context_instance=RequestContext(request))
Avez-vous lu http://docs.djangoproject.com/fr/dev/topics/http/file-uploads/?from=olddocs#handling-uploaded-files? Cela semble être ce que vous cherchez. Je ne veux pas répondre parce que je ne suis pas sûr de ce que vous demandez réellement. – Bartek