Salut Thomas, J'ai essayé mais j'ai rien dans le /tmp/debug qui apparait. C'est quand même bizarre... la fonction delete doit normalement marcher...
Alioune voici mon settings.py http://pastebin.fobyfus.com/code/2/ Le 21 décembre 2011 18:38, Alioune Dia <[email protected]> a écrit : > > 1.J'ai installe django 1.3 > > Salut > > > J'ai installé la 1.3 de DJANGO > > >>> import django > >>> django.get_version() > '1.3' > > > 2.J'ai créé une petite application > python manage.py startapp filestorage > > > 3. Edition du models de filestorage > > from django.db import models > > # Create your models here. > class MyModel(models.Model): > file = models.ImageField(upload_to= 'image') > name = models.SlugField() > def __str__(self): > return '%s :%s'\ > %(self.__class__.__name__, self.name) > > > > 4. Je fais ./manage.py syncdb > > > filestorage.mymodel: "file": To use ImageFields, you need to install the > Python > Imaging Library. Get it at http://www.pythonware.com/products/pil/ . > > > 6. J'installe pil pour fixer le problème,et je teste > >>> from PIL import ImageFile > >>> > > > 7. J’exécute a nouveau syncdb, et je vérifie que tout est Ok > Creating tables ... > Creating table filestorage_mymodel > Installing custom SQL ... > Installing indexes ... > No fixtures found. > > > 8. > Creating tables ... > Creating table filestorage_mymodel > Installing custom SQL ... > Installing indexes ... > No fixtures found. > > > > 9. Je lance le shell > > python manage.py shell > > Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit > (Intel)] on > Type "help", "copyright", "credits" or "license" for more information. > (InteractiveConsole) > >>> > > 10. Je teste la création et suppression de ImageField , et dans mon dossier > projet en cours, j'ai un dossier crée du nom 'image',et dedans il y' a > 4d37c7.jpg. > > >>> from filestorage.models import MyModel > >>> from django.core.files import File > >>> f = File(open("/abspath/4d37c7.jpg")) > >>> m.file.save(f.name, f) > >>> m.save() > > > 11. Je verifie que la sauvegarde marche bien avec l'instance et le > fichier.Et j'ai > un model et une image dans le dossier image. > > >>> m3 = MyModel.objects.all() > >>> print m3 > [<MyModel: MyModel :>, <MyModel: MyModel :>] > > > 12 .Je le supprime > m3[0].file.delete() > > > > m3[0] est belle et bien supprimé, ainsi que l'image 4d37c7.jpg > se trouvant dans le dossier -image- sur ma machine, il faut juste que tu > mette MEDIA_ROOT= '' si le dossier image est a la racine.sinon tu met > le bon répertoire .Lorsque le MEDIA_ROOT est mal initialisé l'image ne > devait même pas être crée. > J'avoue que je n'arrive pas a simuler > ton soucis .Tout ce que je sais c'est que -filestorage- marche bien > et que -instance.image.delete()- marche aussi.Donc Django marche bien. > > --Ad > > > Le 21 décembre 2011 14:04, Alioune Dia <[email protected]> a écrit : > > Hi Thomas >> Ok , je comprends c'est le -filestorage- que tu veux debugger bonne idée. >> Vu le code que tu as a print , j'ai comme l'impression que -Django fail >> silently- >> lorsque le chemin passé n'est pas bon . Je suis curieux de savoir ce que >> Hervé a mis dans le -MEDIA_ROOT- du settings.py. filestorage est >> totalement >> dependant de -MEDIA_ROOT (qui est un chemin absolu). >> --Ad >> >> >> >> Le 21 décembre 2011 12:10, Thomas NOEL <[email protected]> a écrit : >> >>> >>> >>> Le 21 décembre 2011 12:06, Alioune Dia <[email protected]> a écrit >>> : >>> >>> Bonjour, >>>> Applique ce que Thomas t'a dis de faire et tu verras dans ton fichier >>>> de log quelque chose qui cloche (/tmp/debug). Cependant je te >>>> conseillerai >>>> de le faire dans la méthode -delete- de ton model plutot que dans le >>>> core de django >>>> (django/core/files/storage.py) .Cette partie est reversé aux -Cerveaux >>>> Privilégiés- >>>> .Moi je ne le ferai pas :). Si tu en est un comme Thomas, alors GO :) >>>> >>> >>> En fait mon idée est de vérifier que le delete du filestorage est bien >>> appelé >>> par le delete de imagefield (qui est un filefield, qui utilise un >>> filestorage)... >>> D'où ma proposition de patcher temporairement des print dans le delete du >>> filestorage... mais c'est juste une idée, comme ça, en passant... >>> >>> -- >>> Thomas >>> >>> >>> >>> -- >>> Ce message a été envoyé à la liste [email protected] >>> Gestion de votre abonnement : http://dakarlug.org/liste >>> Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug >>> Le site du DakarLUG : http://dakarlug.org >>> >> >> > > > -- > Ce message a été envoyé à la liste [email protected] > Gestion de votre abonnement : http://dakarlug.org/liste > Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug > Le site du DakarLUG : http://dakarlug.org > -- EDORH Hervé Séno Developper http://www.edorh.com/ Ouest Africa
-- Ce message a été envoyé à la liste [email protected] Gestion de votre abonnement : http://dakarlug.org/liste Archives : http://news.gmane.org/gmane.org.user-groups.linux.dakarlug Le site du DakarLUG : http://dakarlug.org
