如何向Intranet机器提供Rest Framework API?

时间:2017-10-26 11:06:30

标签: python django webserver

我使用其余框架编写API,当我运行runserver网站时 我可以访问开发机器中的API(Intranet ip是10.10.10.111):

enter image description here

但是如何在10.10.10.0/24 Intranet中的其他计算机中访问API?

如果可以,我们的团队将更方便调试。

3 个答案:

答案 0 :(得分:0)

要使您的开发服务器可以查看网络上的其他计算机,请使用自己的IP地址(例如10.10.10.111)或0.0.0.0。

See the examples for running django projects on different ports and ip address.

命令将是:

django-admin runserver 0.0.0.0:<port>

python manage.py runserver 0.0.0.0:<port>

然后,您可以从10.10.10.111:<port><your.machine.ip.address:port>访问同一网络中的网站。

答案 1 :(得分:0)

@salman所说的加号:这很可能是主机防火墙阻止数据包。根据您的操作系统,尝试有选择地打开此端口。

修改

主机(*)计算机上的防火墙很可能会阻止流量。如果网络中的防火墙阻塞端口,也请询问您的管理员。

*) host表示“运行服务器的计算机

答案 2 :(得分:0)

Django项目中的Runserver:

python manage.py runserver 0.0.0.0:<port>

停止开发操作系统中的防火墙,例如CentOS7:

systemctl stop firewalld.service

然后在项目settings.py中添加ALLOW_HOST, 因为您的计算机使用内部网络连接,您可以允许所有:

ALLOWED_HOSTS = ['*']