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

Django生产环境不显示新变更,已尝试多操作仍无效,如何排查?

调试步骤
  • 确认.env文件加载路径

    • 检查uwsgi的admin.ini配置,确认env项或代码中读取.env的路径是否为绝对路径,避免加载了其他位置的旧文件。可以临时在Django视图中添加代码打印.env的实际读取路径:
      import os
      print(os.path.abspath('.env'))  # 部署后查看uwsgi日志获取输出
      
    • 验证.env文件的权限,确保uwsgi运行用户(如www-data)有读取权限:ls -l /path/to/your/.env
  • 验证uwsgi进程是否真正加载新代码

    • 用ps aux | grep uwsgi查看进程PID,确认重启后PID是否更新,若未更新说明重启未生效,尝试强制启停:
      sudo systemctl stop uwsgi
      sudo systemctl start uwsgi
      
    • 检查uwsgi运行用户与文件所属用户是否一致,避免因权限问题无法读取修改后的文件:ps aux | grep uwsgi查看用户,ls -l /path/to/your/media/models.py查看文件所有者
  • 同步Django迁移与虚拟环境配置

    • 线上环境需同步执行models变更的迁移命令(确保在项目虚拟环境中执行):
      python manage.py makemigrations media
      python manage.py migrate
      
    • 检查admin.ini中的pythonpath和home配置,确认指向正确的项目目录和虚拟环境,避免uwsgi使用系统Python而非项目依赖环境
  • 清理各类缓存

    • 清空Django内置缓存:python manage.py clearcache
    • 若使用了第三方缓存服务(如Redis、Memcached),手动清空缓存数据
    • 客户端强制刷新页面(Ctrl+F5)或使用无痕模式访问,排除浏览器缓存影响
  • 开启详细日志排查

    • 修改admin.ini开启uwsgi debug日志:
      logto = /var/log/uwsgi/debug.log
      log-level = debug
      
      重启uwsgi后访问页面,查看日志中是否有.env加载、models初始化的相关信息
    • 检查Django应用日志(如/var/log/django/app.log),排查是否存在未被捕获的警告或隐性错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 04:45:33