解决Django接口无法通过本机IP访问的问题

小满
小满
发布时间:2026-10-13 | 4人浏览过
原创

本文详细解析Django默认仅允许localhost访问的限制,提供通过修改settings.py中ALLOWED_HOSTS为'*'以及启动命令指定0.0.0.0地址的解决方案,涵盖CMD命令行与PyCharm配置两种常见场景,并补充防火墙关闭及老版本兼容写法,帮助用户实现本机IP及局域网其他设备的正常访问。

Django默认访问限制与解决方案概述

在Django开发环境中,默认配置下接口仅能通过localhost或127.0.0.1进行访问,若尝试使用本机实际IP地址访问则会遭遇拒绝。

修改settings.py配置

要实现通过本机IP访问,首先需调整Django项目的settings.py配置文件。

ALLOWED_HOSTS = "*"

命令行启动配置

接下来,在命令行终端中执行启动命令。

python manage.py runserver 0.0.0.0:8080

PyCharm运行配置调整

若使用PyCharm进行开发,则需在运行配置中进行相应调整。

在Run/Debug Configurations设置中,将Host参数修改为0.0.0.0。

Django允许外部IP访问补充说明

此外,关于Django允许外部IP访问还有以下补充知识。

防火墙设置

首先,需确保服务器防火墙已关闭,以允许外部连接。

service iptables stop

服务启动与ALLOWED_HOSTS配置

其次,对Django服务进行特定配置。

在启动Django服务时,需指定0.0.0.0:xxxx作为监听地址和端口,例如:

python manage.py runserver 0.0.0.0:8000

同时,在settings配置文件中将ALLOWED_HOSTS设置为空列表[]。

将其修改为:

ALLOWED_HOSTS = ['*'],

对于老版本Django,可能需要添加逗号,即:

ALLOWED_HOSTS = ['*',]。

完成上述配置后,其他机器即可通过指定的IP和端口号访问Django服务,也可根据需求限制特定机器的访问权限。

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表