[afpy/django] suppression

David Thenon david.thenon at wanadoo.fr
Mer 21 Jan 22:23:18 CET 2009


Bonsoir,

Si tant est que ton application est en Django>1.0.x, sache que maintenant 
chaque champs de type UploadField et héritiers, expose les méthodes de l'api 
de "Storage", tu peux donc directement effacer ton fichier en utilisant 
delete() dessus.

Avec ton exemple ce serait :

pict.photo.delete()

Attention, cette méthode n'est pas silencieuse, si le fichier indiqué en bdd 
n'existe pas, ça lève une "Exception".

Cf. http://docs.djangoproject.com/en/dev/topics/files/#file-storage

Le Wednesday 21 January 2009 22:04:27 Séno Hervé Edorh, vous avez écrit :
>  Bonjour,
> J'aimerais supprimer une photo dans un répertoire lors d'une mise à jour.
> Voici mon code
>
> if formset.is_valid():
> if request.FILES['form-0-photo'] != pict.photo:
> os.remove(unicode(pict.photo))
> formset.save()
>
> avec pict.photo le nom du chemain stocké dans la base donc "si la photo
> upload est différente de celle dans la base la supprimer"
>
> et j'ai cette erreure ci [Errno 2] No such file or directory:
> 'photo/image1.jpg'
>
> j'ai changer le chemain en ajoutant d'autres
> "os.remove("../media/img/unicode(pict.photo))" mais ça marche pas. La photo
> se trouve dans le répertoire media de mon application django
> /media/img/image1.jpg
>
> Ou quelqu'un aurait une autre technique pour la mise à jour?
>
> Merci





Plus d'informations sur la liste de diffusion django