Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs Heroku:Django后端不工作,获取错误GEThttp://localhost:8000/api/todos/ 网络::错误连接被拒绝_Reactjs_Django_Heroku - Fatal编程技术网

Reactjs Heroku:Django后端不工作,获取错误GEThttp://localhost:8000/api/todos/ 网络::错误连接被拒绝

Reactjs Heroku:Django后端不工作,获取错误GEThttp://localhost:8000/api/todos/ 网络::错误连接被拒绝,reactjs,django,heroku,Reactjs,Django,Heroku,实际上,我创建了一个以django为后端、react为前端的fullstack todo应用程序。前端工作得非常好,您可以在这里查看->。但不知何故,我的应用程序无法连接到django后端,在检查浏览器时,我也看到了这个错误->GEThttp://localhost:8000/api/todos/ 网络::错误连接被拒绝 包含很多文件和代码,所以我将它们推到bitbucket上,以使调试更容易。这是链接 提前感谢。您需要更改REST API服务器地址。localhost:8000是开发中使用的服

实际上,我创建了一个以django为后端、react为前端的fullstack todo应用程序。前端工作得非常好,您可以在这里查看->。但不知何故,我的应用程序无法连接到django后端,在检查浏览器时,我也看到了这个错误->GEThttp://localhost:8000/api/todos/ 网络::错误连接被拒绝

包含很多文件和代码,所以我将它们推到bitbucket上,以使调试更容易。这是链接


提前感谢。

您需要更改REST API服务器地址。
localhost:8000
是开发中使用的服务器地址

更重要的是,我在代码中看到,每次编写请求时,都有硬编码的服务器URL。你不需要这样做。您可以通过设置
baseURL
来设置服务器地址:

import axios from "axios";
if (window.location.origin === "http://localhost:3000") {
  axios.defaults.baseURL = "http://127.0.0.1:8000"; // development address
} else {
  axios.defaults.baseURL = window.location.origin; // production address
}

然后在请求中,只写入端点地址,例如:

axios.put(`/api/todos/${item.id}/`, item)

有关Django和React部署的更多详细信息,请参阅我的文章。

您需要更改REST API服务器地址。
localhost:8000
是开发中使用的服务器地址

更重要的是,我在代码中看到,每次编写请求时,都有硬编码的服务器URL。你不需要这样做。您可以通过设置
baseURL
来设置服务器地址:

import axios from "axios";
if (window.location.origin === "http://localhost:3000") {
  axios.defaults.baseURL = "http://127.0.0.1:8000"; // development address
} else {
  axios.defaults.baseURL = window.location.origin; // production address
}

然后在请求中,只写入端点地址,例如:

axios.put(`/api/todos/${item.id}/`, item)


有关Django和React部署的更多详细信息,请参阅我的文章。

您的部署可能存在问题。关于如何部署React和Django应用程序,请参阅本指南:在settings.py change ALLOWED_HOSTS=['127.0.0.1',]中添加应用程序的ipserver@HarshanaSerasinghe我也遵循了您前面提到的教程,但是当我尝试使用诗歌安装django heroku时,它给了我错误。有什么建议吗?你的后端托管在哪里<代码>http://localhost:8000/api/todos/这不是您后端的地址。应该有可以访问后端的URL。您的部署可能有问题。关于如何部署React和Django应用程序,请参阅本指南:在settings.py change ALLOWED_HOSTS=['127.0.0.1',]中添加应用程序的ipserver@HarshanaSerasinghe我也遵循了您前面提到的教程,但是当我尝试使用诗歌安装django heroku时,它给了我错误。有什么建议吗?你的后端托管在哪里<代码>http://localhost:8000/api/todos/这不是您后端的地址。应该有一个可以访问后端的URL。我更新了我的bitbucket存储库,我注意到前端部分完全不同。这个错误现在已经纠正了。另外,我仍然有点困惑,我是否需要将localhost:8000放在settings.py文件的允许主机的方括号内?这就是你想要我做的吗?答案是否解决了你的问题?如果应用程序正常工作,则无需更新
允许的\u主机
。如果有帮助,请接受答案。要回答您的问题,我需要知道我需要在哪个文件中进行更改?这样我就能知道你的回答是否对我有帮助。我还更新了代码,因为前一个版本有不同的app.js文件和todo_项目文件夹(一个不同的项目,代码相同,我的坏)。如果有帮助的话,我会接受你的回答。对不起!我不知道。请在app.js代码第6行添加设置。我的项目就是这样做的:这是我的
设置.py
-以防万一,我检查了你的
设置.py
,看起来不错。我更新了我的bitbucket存储库,我注意到前端部分完全不同。这个错误现在已经纠正了。另外,我仍然有点困惑,我是否需要将localhost:8000放在settings.py文件的允许主机的方括号内?这就是你想要我做的吗?答案是否解决了你的问题?如果应用程序正常工作,则无需更新
允许的\u主机
。如果有帮助,请接受答案。要回答您的问题,我需要知道我需要在哪个文件中进行更改?这样我就能知道你的回答是否对我有帮助。我还更新了代码,因为前一个版本有不同的app.js文件和todo_项目文件夹(一个不同的项目,代码相同,我的坏)。如果有帮助的话,我会接受你的回答。对不起!我不知道。请在app.js代码第6行添加设置。在我的项目中就是这样做的:这是我的
设置.py
-以防万一,我检查了你的
设置.py
,看起来还可以。