Dans n’importe quel formulaire HTML traité par Django, les fichiers sont placés dans la variable request.FILES, sous réserve bien sûr que vous n’ayez pas oublié d’ajouter le type d’encryption à votre formulaire HTML (enctype="multipart/form-data").
Commençons par un exemple :
from django import forms class FormulaireAvecFichier(forms.Form): fichier = forms.FileField()
Le traitement dans la vue devrait ressembler à cela :
from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from .forms import FormulaireAvecFichier def traiter_le_fichier(f): with open(f.name, ’wb+’) as fichier: for chunk in f.chunks(): fichier.write(chunk) def recuperer_le_fichier(request): if request.method == ’POST’: form = FormulaireAvecFichier(request.POST, request.FILES) if form.is_valid(): traiter_le_fichier(request.FILES[’fichier’]) return HttpResponseRedirect(’/fichier_ok/’) else: form = FormulaireAvecFichier() return render_to_response(’formulaire.html’, ...
Abonnement
tous les livres et vidéos ENI en illimité sans engagement
du livre imprimé ou du livre numérique