web-dev-qa-db-fra.com

django.core.exceptions.ImproperlyConfigured: paramètre demandé USE_I18N, mais les paramètres ne sont pas configurés

Je souhaite connecter la base de données MySQL à mon projet Django, mais une erreur est générée:

"Django.core.exceptions.ImproperlyConfigured: Paramètre demandé USE_I18N, mais aucun paramètre n'est configuré. Vous devez définir la variable d'environnement Django_SETTINGS_MODULE ou appeler Settings.configure () avant d'accéder aux paramètres."

Trace:  

 (myenv) LIBINGLADWINs-MacBook-Air:libinrenold$ Django-admin dbshell
Traceback (most recent call last):
  File "/Users/libinrenold/Desktop/djangoworks/myenv/bin/Django-admin", line 11, in <module>
    sys.exit(execute_from_command_line())
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/Django/core/management/__init__.py", line 364, in execute_from_command_line
    utility.execute()
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/Django/core/management/__init__.py", line 356, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/Django/core/management/base.py", line 283, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/Django/core/management/base.py", line 322, in execute
    saved_locale = translation.get_language()
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/Django/utils/translation/__init__.py", line 195, in get_language
    return _trans.get_language()
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/Django/utils/translation/__init__.py", line 59, in __getattr__
    if settings.USE_I18N:
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/Django/conf/__init__.py", line 56, in __getattr__
    self._setup(name)
  File "/Users/libinrenold/Desktop/djangoworks/myenv/lib/python3.6/site-packages/Django/conf/__init__.py", line 39, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
Django.core.exceptions.ImproperlyConfigured: Requested setting USE_I18N, but settings are not configured. You must either define the environment variable Django_SETTINGS_MODULE or call settings.configure() before accessing settings.

settings.py

  DATABASES = {
        'default': {
        'ENGINE': 'Django.db.backends.mysql',
        'NAME': 'test',
        'USER': 'user',
        'PASSWORD': 'root',
        'Host':'',
        'PORT': '',
        }
     }
6
reno_libiii

Vous devez définir la variable pertinente pour indiquer l'emplacement de votre fichier settings.py:

export Django_SETTINGS_MODULE=mysite.settings

C'est l'entrée docs pertinente:

Lorsque vous utilisez Django, vous devez lui indiquer les paramètres que vous utilisez . Pour ce faire, utilisez une variable d’environnement, Django_SETTINGS_MODULE.

La valeur de Django_SETTINGS_MODULE doit être dans la syntaxe du chemin d'accès Python, par exemple. mysite.settings. Notez que le module de configuration doit être sur le Chemin de recherche d'importation Python.

Si vous utilisez un virtualenv (pratique recommandée), vous pouvez coller la commande export appropriée dans le fichier <path-to-virtualenv>/bin/activate

4
raratiru

mettez ceci en haut de settings.py cela configurera Django pour vous 

import os
os.environ.setdefault("Django_SETTINGS_MODULE", __file__)
import Django
django.setup()
1
Naqib Hakimi

Comme pour raratiru, vous avez besoin de la variable d’environnement Django_SETTINGS_MODULE définie avec le chemin Pythonic relatif à votre fichier de paramètres.

OU utilisez votre commande Django-admin avec le paramètre settings:

Django-admin --settings=mysite.settings dbshell
1
ppython