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

Django中manage.py执行报错,本地运行项目遇问题求助

本地Django项目启动全命令报错排查方案

看你描述的情况——克隆仓库、改完数据库配置后,runserver/migrate/makemigrations甚至创建超级用户全报错,结合错误里的数据库连接拒绝提示,给你列几个实打实的排查点:

  • 先确认本地数据库服务是否真的在运行:
    • PostgreSQL用户:Windows去「服务」里找PostgreSQL看状态;Linux执行systemctl status postgresql;macOS执行brew services list | grep postgresql,确保服务处于running状态。
    • MySQL用户:对应查看MySQL服务状态,Windows看系统服务,Linux执行systemctl status mysqld,macOS执行brew services list | grep mysql。
  • 核对settings.py里的数据库配置:
    打开项目的settings.py找到DATABASES配置块,逐条确认:
    • NAME:本地是否已经创建了这个数据库?
    • USER/PASSWORD:是否和本地数据库的账号密码完全匹配?
    • HOST:本地连接填localhost或127.0.0.1,不要填远程地址。
    • PORT:PostgreSQL默认5432,MySQL默认3306,别写错端口号。
  • 绕开Django直接测试数据库连接:
    用数据库自带的命令行工具(比如psql -U 用户名 数据库名或mysql -u 用户名 -p 数据库名)直接连接本地数据库,如果连不上,说明问题出在数据库本身,和Django无关,先解决数据库的基础连接问题。
  • 检查虚拟环境和依赖:
    • 确认你激活了项目对应的虚拟环境,不要使用全局Python环境。
    • 检查是否装对了数据库驱动:PostgreSQL需要安装psycopg2-binary,MySQL需要安装mysqlclient,执行pip list查看依赖是否存在。
  • 排查端口占用和防火墙:
    • 用netstat -ano | grep 端口号(Windows)或lsof -i :端口号(Linux/macOS)查看数据库端口是否被其他程序占用,若被占用可更换端口或杀掉占用进程。
    • 暂时关闭本地防火墙,测试是否是防火墙拦截了数据库端口的TCP连接。

要是这些都排查完还是不行,把settings.py里的DATABASES配置(隐去密码)和完整的错误日志贴出来,再进一步定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 01:46:30