Maison >développement back-end >Tutoriel Python >Comment charger .env dans le projet Django

Comment charger .env dans le projet Django

Barbara Streisand
Barbara Streisandoriginal
2024-11-29 00:15:16246parcourir

How to load .env in Django Project

Je viens d'un milieu PHP, utilisant principalement Laravel/Symfony. Récemment, j'ai commencé à utiliser Django, et je souhaitais reproduire la manière dont les variables d'environnement sont fournies via un fichier .env.

Je voulais que le .env se charge une fois que j'ai démarré le serveur de développement sans avoir à m'en soucier. J'ai donc suivi ces étapes :

Configuration de base du projet pour la démonstration

Créer une application de base (ignorer si Django est déjà configuré)

Pour commencer, j'ai créé un environnement virtuel, mis en place un projet.

mkdir myproject
cd myproject
python3 -m venv ./venv
echo vencv >> .gitignore
pip install Django
django-admin startproject mysite .

Installez python-dotenv (ignorer si déjà fait)

pip install python-dotenv

Charger le fichier .env

Le chargement de variables d'environnement à partir d'un fichier .env est simple avec python-dotenv :

from dotenv import load_dotenv
load_dotenv()

La question est cependant de savoir mettre ce code. Charger le fichier .env à chaque fois peut être fastidieux. Sur la base de la configuration que j'ai mentionnée précédemment, mon projet a créé la structure suivante (certains fichiers omis pour plus de simplicité) :

myproject/
├── mysite/
│   ├── __init__.py
│   ├── asgi.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── .env

Comme vous pouvez le constater, le répertoire monsite est chargé en tant que module. Toutes les variables d'environnement sont stockées dans le fichier .env. Pour les charger, j'ai ajouté le code dans le fichier mysite/__init__.py :

from dotenv import load_dotenv
load_dotenv()

Cela garantit que toutes les variables environnementales sont chargées chaque fois que j'exécute :

python manage.py runserver

Inconvénients

L'inconvénient de cette approche est que si j'apporte des modifications au fichier .env, je dois arrêter et redémarrer le serveur pour recharger les variables d'environnement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn