[afpy/django] suppression

Cyril Doussin cdoussin at gmail.com
Mer 21 Jan 22:19:28 CET 2009


Hello,

Le mieux est surement d'utilisé un chemin absolu et non relatif.
Le chemin que tu stockes dans la base de données doit etre relatif au
dossier qui sert de racine à tous tes fichiers uploadés.
Pour la plupart des projets ce dossier est indiqué par la variable
MEDIA_ROOT dans settings.py.

Et donc ensuite pour effacer un fichier:
import os
from django.conf import settings

absolute_path = os.join(settings.MEDIA_ROOT, db_path)
os.remove(absolute_path)

Maintenant il faut aussi que ton serveur web est les droits correctes sur
ces fichiers (ce qui doit etre le cas si l'upload marche, mais autant
vérifier...)


Cyril




On Wed, Jan 21, 2009 at 9:04 PM, Séno Hervé Edorh <senobogos at gmail.com>wrote:

> 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
>
> --
> Hervé
>
> _______________________________________________
> django mailing list
> django at lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <http://lists.afpy.org/pipermail/django/attachments/20090121/3e92eeb1/attachment-0001.htm>


Plus d'informations sur la liste de diffusion django