Django添加环境变量
时间: 2023-08-09 11:07:35 浏览: 256
dj-haystack-url:来自环境变量的 Haystack 连接配置
在 Django 中添加环境变量可以通过以下步骤完成:
1. 打开项目的 settings.py 文件。
2. 寻找到 `DATABASES` 设置,通常位于文件的顶部。
3. 在 `DATABASES` 设置下面添加以下代码:
```python
import os
# 获取环境变量值,如果不存在则返回默认值
def get_env_variable(var_name, default=None):
try:
return os.environ[var_name]
except KeyError:
if default is not None:
return default
error_msg = f"Set the {var_name} environment variable"
raise ImproperlyConfigured(error_msg)
# 设置数据库配置
DATABASES = {
'default': {
'ENGINE': get_env_variable('DB_ENGINE'),
'NAME': get_env_variable('DB_NAME'),
'USER': get_env_variable('DB_USER'),
'PASSWORD': get_env_variable('DB_PASSWORD'),
'HOST': get_env_variable('DB_HOST'),
'PORT': get_env_variable('DB_PORT'),
}
}
```
4. 确保你安装了 `python-dotenv` 库,可以通过运行以下命令安装:
```bash
pip install python-dotenv
```
5. 在项目的根目录下创建一个名为 `.env` 的文件,并在该文件中定义你的环境变量,例如:
```
DB_ENGINE=django.db.backends.postgresql
DB_NAME=mydatabase
DB_USER=myuser
DB_PASSWORD=mypassword
DB_HOST=localhost
DB_PORT=5432
```
6. 在项目的根目录下创建一个名为 `manage.py` 的文件,并在文件的顶部添加以下代码:
```python
import dotenv
dotenv.load_dotenv()
```
7. 现在你可以通过 `os.getenv('VAR_NAME')` 来获取环境变量的值,例如:
```python
SECRET_KEY = os.getenv('SECRET_KEY')
```
这样,你就成功地将环境变量添加到 Django 项目中了。记得在部署项目时确保正确设置环境变量。
阅读全文