2 votes

DJANGO_SETTINGS_MODULE non défini

J'essaie de démarrer un projet en Django, mais je me heurte à un mur dès le début. Chaque fois que je lance django-admin sans commande, j'obtiens cette notification après le message d'aide :

Note that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.).

Et chaque fois que j'essaie de le lancer ou de lancer manage.py avec une commande telle que runserver, j'obtiens :

python manage.py runserver
Traceback (most recent call last):

File "manage.py", line 22, in <module>
    execute_from_command_line(sys.argv)
  File "/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/__init__.py", line 363, in execute_from_command_line
    utility.execute()
  File "/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/__init__.py", line 355, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 62, in execute
    super(Command, self).execute(*args, **options)
  File "/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/base.py", line 330, in execute
    output = self.handle(*args, **options)
  File "/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/core/management/commands/runserver.py", line 73, in handle
    if not settings.DEBUG and not settings.ALLOWED_HOSTS:
  File "/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/conf/__init__.py", line 56, in __getattr__
    self._setup(name)
  File "/home/castro/Code/django_tests/tutorial/lib/python3.6/site-packages/django/conf/__init__.py", line 39, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting DEBUG, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

Je ne sais pas comment définir ce DJANGO_SETTINGS_MODULE ni où appeler settings.configure(). J'ai essayé ce que d'autres réponses suggéraient ici, mais soit c'est un problème différent, soit j'ai raté quelque chose qui devrait être assez évident.

4voto

the_storyteller Points 1201

Vers le haut de votre manage.py vous devriez voir cette ligne, où projet est le nom de votre projet qui contient le fichier de configuration.

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")

Si le projet n'existe pas ou si le chemin d'accès est erroné, python manage.py échouera.

L'arborescence des fichiers devrait ressembler à ceci

.
├── manage.py
├── project
│   ├── settings.py

Pour le contexte, un manage.py contient les lignes suivantes

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project.settings")
# ... other code ...

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X