web-dev-qa-db-fra.com

Quelle est la différence entre `à partir des paramètres d'importation de Django.conf` et` paramètres d'importation` dans un projet Django

Je lis que la plupart des gens font from Django.conf import settings Mais je ne comprends pas la différence de faire simplement import settings Dans un fichier de projet Django. Quelqu'un peut-il expliquer la différence?

58
tzenderman

import settings importera le premier module python nommé settings.py trouvé dans sys.path, généralement (par défaut Django). Il autorise l'accès uniquement au fichier de paramètres définis par votre site, qui écrase Django paramètres par défaut (Django.conf.global_settings).

Donc, si vous essayez d'accéder à un paramètre Django non spécifié dans votre fichier de paramètres), vous obtiendrez une erreur.

Django.conf.settings n'est pas un fichier mais une classe faisant une abstraction des concepts, des paramètres par défaut et des paramètres spécifiques à votre site. Django effectue également d'autres vérifications lorsque vous utilisez from Django.conf import settings.

Vous pouvez également le trouver dans les Django docs .

J'espère que cela t'aides.

74
juliocesar

from Django.conf import settings est une meilleure option.

J'utilise différents fichiers de paramètres pour le même projet Django (un pour "live", un pour "dev"), le premier sélectionnera celui en cours d'exécution.

16
mansuetus