[afpy/django] Problème avec doctest

Nautile Bleu nautilebleu at gmail.com
Mar 5 Mai 22:11:32 CEST 2009


Je me répond à moi même: j'ai fini par trouver ce qui manquait. Il
faut ajouter setup_environ(settings)
(4ème ligne à partir de la fin)

 if __name__ == "__main__":
    import os.path, sys, doctest
    from django.core.management import setup_environ
    PROJECT_PATH = os.path.dirname(os.path.abspath('../../core'))
    sys.path.append(PROJECT_PATH)
    try:
        import settings
    except ImportError:
        print "Unable to import settings."
        sys.exit(1)
    setup_environ(settings)
    from django.conf.urls.defaults import *
    from hg.urls import urlpatterns
    doctest.testmod()



Le 5 mai 2009 13:20, Nautile Bleu <nautilebleu at gmail.com> a écrit :
> Bonjour aux djangonautes !
>
> Je reviens vers vous car j'ai un problème avec doctest. Je souhaite
> tester une fonction dans un templatetag. J'ai l'erreur suivante :
> ImportError: Settings cannot be imported, because environment variable
> DJANGO_SETTINGS_MODULE is undefined.
>
> J'arrive pourtant à priori à importer les settings (cf ci-dessous):
>
> if __name__ == "__main__":
>    import os.path, sys, doctest
>    from django.core.management import setup_environ
>    PROJECT_PATH = os.path.dirname(os.path.abspath('../../core'))
>    sys.path.append(PROJECT_PATH)
>    try:
>        import settings
>    except ImportError:
>        print "Unable to import settings."
>        sys.exit(1)
>    from django.conf.urls.defaults import *
>    from hg.urls import urlpatterns
>    doctest.testmod()
>
> En fait le problème est plus précisément lié à la fonction reverse()
> utilisée dans la fonction que je veux tester, car si je la supprime,
> je peux passer les tests. Je suppose qu'il  y a quelque chose à faire
> au niveau des urls à importer, mais je ne vois pas quoi. Merci
> d'avance de votre aide !
>
> Goulwen
>
> PS. : Je viens d'ailleurs de lire les slides de Simon Willison pour
> EuroDjangoCon qui râle contre le problème…
> http://www.slideshare.net/simon/django-heresies
>
>
> T-shirts personnalisés:
> http://comboutique.com/nautilebleu
>
> Nouveau ! J'ai déménagé !
> http://nautilebleu.tumblr.com/
>


Plus d'informations sur la liste de diffusion django