Ajustes de importación de Django

Shubham Vora 20 junio 2023
  1. Configuración predeterminada en la aplicación Django
  2. Configuraciones personalizadas en la aplicación Django
  3. desde la configuración de importación de django.conf VS. configuración de importación
Ajustes de importación de Django

En este tutorial, aprenderemos la diferencia entre configuración de importación de django.conf e configuración de importación, que usamos para importar configuraciones en el proyecto Django.

Primero comprendamos qué contiene el archivo de configuración en la aplicación Django. Entonces, el archivo settings.py es el archivo Python normal en el proyecto Django, que contiene las configuraciones de su aplicación Django.

También puede estar vacío si no tiene ninguna configuración para su aplicación, pero nunca sucede.

Configuración predeterminada en la aplicación Django

Cuando creamos el nuevo proyecto Django, este contiene el archivo settings.py con todas las configuraciones iniciales. Los usuarios pueden importar el archivo de configuración predeterminado a otros archivos usando el código a continuación.

from django.conf import settings

Aquí, django.conf es un módulo desde el que importamos el objeto settings. Si los usuarios intentan importar configuraciones como la siguiente, eso no funcionará.

# This won't work
from django.conf.settings import SECRET_KEY

Después de importar la configuración del módulo django.conf, los usuarios pueden usarlo como se muestra a continuación.

from django.conf import settings
# Do something with the properties of the settings object
if settings.SECRET_KEY:
    # some code

De esta forma, podemos importar configuraciones desde el archivo de configuración global y usarlas dentro de otro archivo.

Configuraciones personalizadas en la aplicación Django

No es necesario utilizar siempre la configuración predeterminada. Los usuarios también pueden personalizar la configuración según sus requisitos.

Primero, veremos cómo cambiar los valores de la configuración predeterminada.

Los desarrolladores pueden usar el método configure() de Python para cambiar el valor de las propiedades del objeto settings. Podemos pasar tantos argumentos como queramos mientras llamamos al método configure() tomando el objeto settings como referencia.

Cuenta la propiedad de configuración y los valores como argumentos únicos que los usuarios pueden ver en el código a continuación.

from django.conf import settings
settings.configure(SECRET_KEY= < New_Security_key >)

Si los usuarios intentan cambiar la configuración predeterminada como la que se muestra a continuación, se generará un error.

from django.conf import settings

# This code will raise an error
if settings.SECRET_KEY:
    settings.SECRET_KEY = "New Key"

Además, los usuarios pueden crear un nuevo archivo para la configuración y agregar configuraciones personalizadas dentro de acuerdo con los requisitos de la aplicación Django. Al crear el nuevo archivo para la configuración manual, asegúrese de que todas las letras del nombre del archivo estén en mayúsculas y que no exista otro archivo con ese nombre.

Supongamos que los usuarios han creado el archivo custom_settings.py. Luego, los usuarios pueden importar configuraciones desde las representadas en el código a continuación.

Además, los usuarios deben usar el método configure() para anular la configuración predeterminada.

from django.conf import settings
from custom_settings import custom_settings

settings.configure(default_settings=custom_settings)

De esta forma, podemos cambiar la configuración predeterminada de la aplicación Django importando configuraciones de otros archivos y anulándolas usando el método configure() de Python.

desde la configuración de importación de django.conf VS. configuración de importación

Ahora, aclaremos la diferencia entre la configuración de importación de django.conf y la configuración de importación.

Por lo tanto, cuando un usuario intente importar la configuración utilizando la configuración de importación from django.conf, la aplicación importará la configuración desde la configuración predeterminada, es decir, desde el archivo de configuración global.

Es posible que tengamos muchos otros archivos para la configuración personalizada en nuestra aplicación. Por lo tanto, si importamos configuraciones usando import settings, la aplicación importará el primer archivo de configuración que encuentre en el sistema.

Por lo tanto, es una buena práctica utilizar la configuración de importación de django.conf para importar la configuración desde el archivo de configuración global sin problemas.

Shubham Vora avatar Shubham Vora avatar

Shubham is a software developer interested in learning and writing about various technologies. He loves to help people by sharing vast knowledge about modern technologies via different platforms such as the DelftStack.com website.

LinkedIn GitHub