You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS Code中为Django指定不同环境的.env文件

Django多环境数据库连接配置与VS Code启动指定方案

完全可以通过多环境.env文件实现不同数据库的连接,并且在VS Code的launch.json里指定运行特定环境,具体操作步骤如下:

1. 创建多环境.env文件

在你的environments目录下分别创建dev.env、test.env、prod.env,每个文件对应不同环境的数据库配置,示例如下:

environments/dev.env

DATABASE_URL=mssql://DEV_USER:DEV_PWD@DEV_SERVER/DEV_DB
DEBUG=True

environments/test.env

DATABASE_URL=mssql://TEST_USER:TEST_PWD@TEST_SERVER/TEST_DB
DEBUG=False

environments/prod.env

DATABASE_URL=mssql://PROD_USER:PROD_PWD@PROD_SERVER/PROD_DB
DEBUG=False

2. 修改settings.py支持动态加载指定.env文件

调整settings.py里的环境变量读取逻辑,让它可以根据环境变量指定的文件名加载对应配置:

import environ
import os
from pathlib import Path

env = environ.Env(
    DEBUG=(bool, False)
)

BASE_DIR = Path(__file__).resolve().parent.parent
ENVIRONMENT_DIR = os.path.join(BASE_DIR, "environments")

# 从环境变量获取要加载的.env文件名,默认加载dev.env
env_file = os.getenv("ENV_FILE", "dev.env")
environ.Env.read_env(os.path.join(ENVIRONMENT_DIR, env_file))

# 后续原有配置保持不变
...

DATABASES = {
    "default": env.db_url(),
}

3. 配置VS Code的launch.json添加多环境启动项

在launch.json里为每个环境单独配置启动项,通过env参数指定要加载的.env文件名:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Django: Dev",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "args": ["runserver"],
            "django": true,
            "env": {
                "ENV_FILE": "dev.env"
            }
        },
        {
            "name": "Django: Test",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "args": ["runserver"],
            "django": true,
            "env": {
                "ENV_FILE": "test.env"
            }
        },
        {
            "name": "Django: Prod",
            "type": "python",
            "request": "launch",
            "program": "${workspaceFolder}/manage.py",
            "args": ["runserver"],
            "django": true,
            "env": {
                "ENV_FILE": "prod.env"
            }
        }
    ]
}

运行方式

配置完成后,在VS Code的运行面板里,选择对应的环境(比如Django: Dev)启动项目,系统会自动加载对应环境的.env文件,连接指定的数据库。

内容的提问来源于stack exchange,提问作者Andez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 05:57:58