Je lis ce que la plupart des gens font, from django.conf import settings
mais je ne comprends pas la différence de simplement faire import settings
dans un fichier de projet django. Quelqu'un peut-il expliquer la différence?
python
django
django-settings
Tzenderman
la source
la source
Réponses:
import settings
importera le premier module python nommésettings.py
trouvé danssys.path
, généralement (dans les configurations django par défaut). Il permet d'accéder uniquement au fichier de paramètres définis par votre site, qui écrase les paramètres par défaut de django (django.conf.global_settings
).Donc, si vous essayez d'accéder à un paramètre django valide 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 utilisezfrom django.conf import settings
.Vous pouvez également le trouver dans la documentation django .
J'espère que cela t'aides.
la source
import settings
importera le premier module python nommésettings.py
trouvé danssys.path
. Cela peut ne pas être le "fichier de paramètres définis par le site", qui est recherché dans la variable d'environnement "DJANGO_SETTINGS_MODULE" et peut être n'importe quel package ou module python.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.
la source