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

部署Django时如何自动设置DJANGO_SETTINGS_MODULE环境变量

自动配置DJANGO_SETTINGS_MODULE环境变量的实现方案

根据你的使用场景,可以选择以下任意一种方案:

方案1:修改manage.py默认配置(开发环境最便捷)

打开项目根目录的manage.py文件,找到设置默认配置模块的代码行,直接修改默认值即可:

def main():
    # 将原有默认的配置路径替换为你的开发环境配置路径
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'src.settings.dev')
    # 剩余原有代码无需修改

修改完成后,直接执行python manage.py runserver就会自动读取开发环境配置,不需要额外设置环境变量。

方案2:通过.env文件统一管理环境变量(全场景通用)

  • 先安装依赖包:pip install python-dotenv
  • 在项目根目录新建.env文件,写入配置:
DJANGO_SETTINGS_MODULE=src.settings.dev
  • 分别修改manage.py、wsgi.py、asgi.py三个入口文件,在导入os的代码后添加环境变量加载逻辑:
import os
from dotenv import load_dotenv

# 加载根目录下的.env配置
load_dotenv()

生产环境可以直接在服务器全局环境变量中添加该配置,无需依赖.env文件,避免敏感配置泄露。

方案3:绑定到启动脚本/shell配置(本地开发场景)

Windows 环境

可以在项目根目录新建dev_start.bat脚本,写入以下内容:

@echo off
set DJANGO_SETTINGS_MODULE=src.settings.dev
python manage.py runserver

后续直接双击运行这个bat文件即可启动服务,无需手动执行set命令。
如果需要全局生效,可以修改PowerShell的$PROFILE配置文件,添加$env:DJANGO_SETTINGS_MODULE = "src.settings.dev",重启终端后永久生效。

macOS/Linux 环境

修改对应shell的启动配置文件(/.bashrc、/.zshrc等),添加一行:

export DJANGO_SETTINGS_MODULE=src.settings.dev

执行source ~/.bashrc(或对应配置文件)后生效,所有终端窗口都会默认携带该环境变量。

方案4:写入服务/容器配置(生产部署场景)

如果使用gunicorn、uWSGI等应用服务器部署,或者使用Docker容器,可以直接在启动配置中添加环境变量:

  • gunicorn启动命令示例:DJANGO_SETTINGS_MODULE=src.settings.dev gunicorn src.wsgi:application
  • Dockerfile配置示例:ENV DJANGO_SETTINGS_MODULE=src.settings.dev

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:21:04