+1 porque es una pregunta muy interesante para quién es nuevo en el desarrollo de Django.
Respuestas:
134
import settings
Importará el módulo de configuración (.py) de su proyecto Django (si está escribiendo este código desde el paquete "raíz" de su aplicación, por supuesto)
from django.conf import settings
Importará el objeto de configuración del paquete django.conf (archivos proporcionados por Django). Esto es importante porque
[..] tenga en cuenta que su código no debe importar desde global_settings o su propio archivo de configuración. django.conf.settings abstrae los conceptos de configuración predeterminada y configuración específica del sitio; presenta una única interfaz. También desacopla el código que usa la configuración de la ubicación de su configuración.
FYI, global_settings es otro módulo dentro del paquete django.conf. Como dice la documentación, no lo use.
3
Tenga en cuenta que el uso from django.conf import settingses fundamental si desea poder sobrescribir la configuración también durante las pruebas unitarias.
Joris
4
También tenga en cuenta que todos los nombres de las configuraciones deben estar en mayúsculas . Es decir, si su tenga una var my_varen la configuración de entonces esto va a fallar: from django.conf import settings... settings.my_var. ¡Pero si lo nombras MY_VAR, tendrá éxito!
Respuestas:
Importará el módulo de configuración (.py) de su proyecto Django (si está escribiendo este código desde el paquete "raíz" de su aplicación, por supuesto)
Importará el objeto de configuración del paquete django.conf (archivos proporcionados por Django). Esto es importante porque
ACTUALIZACIÓN: si desea definir algunas configuraciones propias, consulte esta parte de la documentación
fuente
from django.conf import settings
es fundamental si desea poder sobrescribir la configuración también durante las pruebas unitarias.my_var
en la configuración de entonces esto va a fallar:from django.conf import settings
...settings.my_var
. ¡Pero si lo nombrasMY_VAR
, tendrá éxito!