首页 >后端开发 >Python教程 >如何在 Django 项目中加载 .env

如何在 Django 项目中加载 .env

Barbara Streisand
Barbara Streisand原创
2024-11-29 00:15:16321浏览

How to load .env in Django Project

我有 PHP 背景,主要使用 Laravel/Symfony。最近,我开始使用 Django,我想重现通过 .env 文件提供环境变量的方式。

我希望在启动开发服务器后即可加载 .env,而不必担心它。因此我按照以下步骤操作:

用于演示的基本项目设置

制作一个基本应用程序(如果 Django 已设置,则跳过)

首先,我创建了一个虚拟环境,设置了一个项目。

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

安装 python-dotenv (如果已完成则跳过)

pip install python-dotenv

加载.env文件

使用 python-dotenv 从 .env 文件加载环境变量很简单:

from dotenv import load_dotenv
load_dotenv()

问题是在哪里放置此代码。每次加载 .env 文件可能会很乏味。根据我之前提到的设置,我的项目创建了以下结构(为简单起见,省略了一些文件):

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

如您所见,mysite 目录作为模块加载。所有环境变量都存储在 .env 文件中。为了加载它们,我将代码添加到 mysite/__init__.py 文件中:

from dotenv import load_dotenv
load_dotenv()

这确保了每当我运行时都会加载所有环境变量:

python manage.py runserver

缺点

这种方法的缺点是,如果我对 .env 文件进行任何更改,我必须停止并重新启动服务器以重新加载环境变量。

以上是如何在 Django 项目中加载 .env的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn