Estoy leyendo que la mayoría de la gente lo hace, from django.conf import settings
pero no entiendo la diferencia con simplemente hacerlo import settings
en un archivo de proyecto de django. ¿Alguien puede explicar la diferencia?
python
django
django-settings
tzenderman
fuente
fuente
Respuestas:
import settings
importará el primer módulo de Python llamado que sesettings.py
encuentra ensys.path
, generalmente (en las configuraciones predeterminadas de Django). Permite el acceso solo al archivo de configuración definido por su sitio, que sobrescribe la configuración predeterminada de django (django.conf.global_settings
).Por lo tanto, si intenta acceder a una configuración válida de django no especificada en su archivo de configuración, obtendrá un error.
django.conf.settings
no es un archivo, sino una clase que hace una abstracción de los conceptos, la configuración predeterminada y la configuración específica de su sitio. Django también realiza otras comprobaciones cuando usafrom django.conf import settings
.También puede encontrarlo en la documentación de django .
Espero que esto ayude.
fuente
import settings
importará el primer módulo de Python llamado que sesettings.py
encuentra ensys.path
. Puede que este no sea el "archivo de configuración definido por el sitio", que se busca en la variable de entorno "DJANGO_SETTINGS_MODULE" y puede ser cualquier paquete o módulo de Python.from django.conf import settings
es mejor opción.Utilizo diferentes archivos de configuración para el mismo proyecto de django (uno para "live", uno para "dev"), el primero seleccionará el que se está ejecutando.
fuente