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

Répondre à