You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows10下Django服务运行正常但无法访问URL求助

解决Windows 10下Django/DRF服务启动但无法访问的问题

我之前在Windows上开发Django项目时也碰到过完全一样的情况——服务明明显示Watching for file changes with StatReloader,但浏览器访问就是连不上,服务器也没任何请求日志。结合我踩过的坑,给你几个针对性的排查方向:

  • 强制绑定全地址,避开127.0.0.1的环路问题
    Windows下偶尔会出现127.0.0.1的本地回环异常,试试把服务绑定到所有可用地址:

    python manage.py runserver 0.0.0.0:8000
    

    之后访问http://localhost:8000/users/或者http://你的本地IP:8000/users/,看看能不能正常连接。

  • 检查Windows防火墙是否拦截了请求
    Windows Defender防火墙经常会默认拦截本地开发端口的请求,你可以:

    1. 临时关闭防火墙(仅测试用,测试完记得重新开启),尝试访问服务;
    2. 或者手动添加入站规则:打开「控制面板→Windows Defender防火墙→高级设置→入站规则→新建规则」,选择「端口」,填入TCP端口8000,允许连接后保存规则。
  • 禁用自动重载,排除StatReloader的异常
    Windows的文件系统监控机制有时候会让StatReloader卡住,导致服务看似启动但没真正监听端口。试试禁用重载启动服务:

    python manage.py runserver --noreload
    

    启动后再访问测试,看看服务器会不会记录请求日志。

  • 确认8000端口没被其他程序占用
    打开命令提示符,执行以下命令查看8000端口的占用情况:

    netstat -ano | findstr :8000
    

    如果有结果,记下对应的PID,打开任务管理器找到该进程并结束,然后重新启动Django服务;或者直接换个端口启动:

    python manage.py runserver 8001
    
  • 检查hosts文件的本地域名映射
    打开C:\Windows\System32\drivers\etc\hosts文件(需要管理员权限编辑),确认有一行未被注释的映射:

    127.0.0.1       localhost
    

    如果这行被注释掉了(前面有#),去掉#号后保存,再重启服务测试。

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

火山引擎 最新活动