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