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

cPanel环境下Django配置的环境变量无法识别如何解决

解决cPanel中Django无法读取配置的环境变量问题

1. 确认cPanel环境变量的配置范围

cPanel全局环境变量界面配置的变量,不会自动加载到**Python应用程序(Setup Python App)**的隔离运行环境中,必须在Django应用的专属配置里单独设置。

2. 在Python应用配置中添加环境变量

进入cPanel的「Setup Python App」模块,找到你的Django应用:

  • 点击「Edit」进入编辑界面
  • 找到「Environment Variables」区域,直接添加EMAIL_PASSWORD_V与对应值
  • 保存后点击页面底部的「Restart」按钮重启应用

3. 验证环境变量加载状态

可以在Django中临时添加调试代码,确认变量是否被加载:

import os
from django.http import HttpResponse

def check_env(request):
    env_content = "\n".join([f"{key}: {value}" for key, value in os.environ.items()])
    return HttpResponse(env_content, content_type="text/plain")

配置路由后访问该视图,检查输出内容中是否存在EMAIL_PASSWORD_V。

4. 修改WSGI配置文件强制加载变量

如果上述方法无效,直接修改Django应用的WSGI文件(通常位于public_html/wsgi.py或项目根目录下的wsgi.py),在文件开头手动加载变量:

import os

# 直接指定变量值
os.environ['EMAIL_PASSWORD_V'] = '你的密码内容'

# 原有WSGI代码
from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', '你的项目名.settings')

application = get_wsgi_application()

修改完成后重启Python应用。

5. 适配SSH命令行环境的变量加载

如果通过SSH执行Django管理命令(如迁移、运行测试)时读取不到变量:

  • 登录SSH后执行echo $EMAIL_PASSWORD_V,确认变量是否在shell环境中生效
  • 若未生效,编辑~/.bashrc或~/.bash_profile文件,添加:
    export EMAIL_PASSWORD_V="你的密码内容"
    
    执行source ~/.bashrc使配置生效后,重新运行命令。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 17:01:01