Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

508
Views
¿Cómo usa python-decouple para cargar un archivo .env fuera de las rutas esperadas?

Me veo obligado a mantener mi archivo .env en una ruta no estándar fuera de la raíz de mi proyecto (en un directorio completamente separado).

Digamos que tengo mi proyecto Django en /var/projects/my_project , aunque tengo mi archivo .env en /opt/envs/my-project/.env donde está almacenada mi SECRET_KEY . En mi archivo settings.py , me gustaría usar explícitamente el archivo .env en esa ruta para poder seguir haciendo esto:

 from decouple import config secret_key = config('SECRET_KEY')
over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Me lo imaginé.

En lugar de importar decouple.config y hacer la config('FOOBAR') , cree un nuevo objeto decouple.Config usando RepositoryEnv('/path/to/env-file') .

 from decouple import Config, RepositoryEnv DOTENV_FILE = '/opt/envs/my-project/.env' env_config = Config(RepositoryEnv(DOTENV_FILE)) # use the Config().get() method as you normally would since # decouple.config uses that internally. # ie config('SECRET_KEY') = env_config.get('SECRET_KEY') SECRET_KEY = env_config.get('SECRET_KEY')

Esperemos que esto ayude a alguien.

over 4 years ago · Santiago Trujillo Report

0

Si observa la implementación de desacoplamiento, la configuración es solo una configuración automática instanciada previamente:

 config = AutoConfig()

Pero AutoConfig toma como argumento opcional search_path para que podamos hacer lo siguiente:

 from decouple import AutoConfig config = AutoConfig(search_path='/opt/envs/my-project')

Entonces puedes hacer como de costumbre:

 secret_key = config('SECRET_KEY')
over 4 years ago · Santiago Trujillo Report

0

Ahora, django-decouple==2.1 admite archivos settings.ini y .env en cualquier directorio principal del directorio del proyecto.

(Y los métodos antiguos ya no funcionan. Desde desacoplar la configuración de importación, RepositoryEnv no funciona, AutoConfig no tiene search_path como parámetro).

Esto es conveniente porque desearía mantener settings.ini en la carpeta del proyecto en su máquina local y desearía tener pagos limpios en el servidor de ensayo/producción, por lo tanto, settings.ini está mejor ubicado fuera de la carpeta del proyecto.

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!