【问题标题】:django Rest framework api is not working on another pc of same networkdjango Rest 框架 api 不能在同一网络的另一台电脑上工作
【发布时间】:2020-03-20 11:51:26
【问题描述】:

我创建了一个名为 http://127.0.0.1:8000/event/allEvents 的 API,它可以在我的浏览器和 Postman 应用中完美运行。

但是,当我尝试从同一网络的另一台 PC 访问 API 时,它会返回错误 this site cannot be reached

【问题讨论】:

  • 您是如何从“其他PC”尝试的?网址是什么?
  • 当你运行你的应用程序时,尝试设置 ip 0.0.0.0 例如./manage.py runserver 0.0.0.0:8000
  • 127.0.0.1 是 localhost ,它表示它正在使用当前使用的计算机的 ip(在您的情况下 127.0.0.1 是您使用的计算机),您搜索的是 local network's IP
  • 是的,我正在使用 localhost 访问此 url http://127.0.0.1:8000/event/allEvents,并且它在服务器运行的情况下工作正常,但在同一网络上的另一台电脑上却无法正常工作
  • 在其他电脑上的浏览器和邮递员上都点击这个网址..

标签: django api django-rest-framework


【解决方案1】:

在您的 settings.py 文件中将您的本地 ip 添加到 allowed_hosts.例如:

ALLOWED_HOSTS = ['192.168.1.50']

并使用以下命令运行您的本地服务器(根据需要设置端口号):

python manage.py runserver 0:8080

在另一台电脑的浏览器上,调用以下网址:

http://192.168.1.50:8080

IP 地址是您的 IPv4 地址 192.168.0.101 而不是 django 默认的 127.0.0.1

【讨论】:

  • 您的解决方案有效,但您没有提及使用了哪个 IP 地址。我已经更新了你的答案
【解决方案2】:

请修改您的设置文件并更改 ALLOWED HOSTS。

例如:

ALLOWED_HOSTS = ['*'] #这将允许本地网络中的所有 ip 访问您的 url ALLOWED_HOSTS = ['xx.xx.xx.xx'] # 这将只允许您本地网络中的“xx.xx.xx.xx”访问您的网址。

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 2018-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-19
    • 1970-01-01
    • 2018-12-20
    相关资源
    最近更新 更多