Saltar al contenido

¿Dónde configuro las variables de entorno para Django?

Necesitamos tu apoyo para compartir nuestras reseñas en referencia a las ciencias informáticas.

Solución:

.bashrc funcionará para el desarrollo local, pero no para un entorno de producción. Pasé bastante tiempo buscando la respuesta a esto y esto es lo que funcionó para mí:

1) Cree un archivo en algún lugar de su servidor titulado settings.ini. Hice esto en /etc/project/settings.ini

2) Agregue sus datos de configuración a ese archivo usando el siguiente formato donde el key podría ser una variable ambiental y el valor es un string. Tenga en cuenta que no necesita encerrar el valor entre comillas.

[section]
secret_key_a=somestringa
secret_key_b=somestringb

3) Acceda a estas variables usando python configparser Biblioteca. El siguiente código podría estar en el archivo de configuración de su proyecto django.

from configparser import RawConfigParser

config = RawConfigParser()
config.read('/etc/project/settings.ini')

DJANGO_SECRET = config.get('section', 'secret_key_a')

Fuente: https://code.djangoproject.com/wiki/SplitSettings (sección de estilo ini)

crea un archivo llamado .bashrc en tu servidor

export('the_name_in_bashrc', some_value)

entonces en el settings.py

import os
some_variable = os.environ.get('the_name_in_bashrc')

La solución más simple es, como ya se mencionó, usar os.environ.get y luego configurar las variables de entorno de su servidor de alguna manera (almacenes de configuración, archivos bash, etc.)

Otra forma un poco más sofisticada es usar python-decouple y archivos .env. Aquí hay un procedimiento rápido:

1) Instale python-decouple (preferiblemente en un venv si no usa Docker):

pip install python-decouple

2) Cree un archivo .env en la raíz de su proyecto Django, agregue un key me gusta;

SECRET_KEY=SomeSecretKeyHere

3) En su configuración.py, o cualquier otro archivo donde desee utilizar los valores de configuración:

from decouple import config

...

SECRET_KEY = config('SECRET_KEY')

4) Como probablemente no quiera que estos secretos terminen en su sistema de control de versiones, agregue el archivo a su .gitignore. Para facilitar la configuración de un nuevo proyecto, puede tener un .env_default registrado en el VCS que contenga valores predeterminados/ficticios que no se usan en producción.

Aquí puedes ver las reseñas y valoraciones de los usuarios

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *