Vous n'êtes pas identifié(e).
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/
Hors ligne
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/
>
Hors ligne