reactjs和django如何结合或集成

Posted

技术标签:

【中文标题】reactjs和django如何结合或集成【英文标题】:how to combine or integrate reactjs and Django 【发布时间】:2020-08-20 04:06:29 【问题描述】:

我在 Reactjs 中创建了前端,在 Django 中创建了后端,并使用 Django rest API 进行链接。但是 react 在 localhost:3000 中运行,而 Django 在 localhost:8000 中运行。如何将这两者结合或整合并在同一个地址运行。

【问题讨论】:

我制作了一个包含托管和文件上传的样板。你可以在这里找到它:hvitis.dev/how-to-connect-filepond-reactjs-and-drf-extension 【参考方案1】:

发展

如果您处于开发阶段并使用Create React App,那么您可以将"proxy": "http://localhost:8000" 添加到您的package.json。然后你在 React 中完成的 api 请求将被转发到端口 8000。

生产

生产设置完全不同。你会想要运行yarn build 并让Django 本身或nginxindex.html 提供服务。在这种情况下,将不再有多个端口,因为 React 构建只是静态文件。

当我们使用同一个堆栈 (GitHub) 交谈时,我正在创建一个示例真实世界项目。它还没有完全准备好生产设置,但如果你想要一些灵感,可以查看我的开发设置。

【讨论】:

这会集成 react 和 Django 吗??【参考方案2】:

您需要使用您在后端创建的路由来链接它们。将路由放入 React 前端的 fetch 请求中,并通过 GET 或 POST 方法等调用它们。一旦您将应用程序部署到服务器,您的用户只会点击前端主机地址。

【讨论】:

怎么做? 假设你在后端有一个这样的路由:localhost:5000/photos 然后在前端反应你需要使用 fetch('localhost:5000/photos/') 从后端取回响应.然后,您可以使用收到的响应对象通过反应组件呈现数据。

以上是关于reactjs和django如何结合或集成的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Django 和 ReactJS 一起工作?

ReactJS - 超级表达式必须为空或函数,而不是未定义

REACTJs:如何更改 Material-Table 中编辑和删除图标的颜色和大小?

ReactJS 和 Django:如何以正确的方式使用 axios 发送 csrf 令牌?

如何结合突变在 django-graphql-jwt 中创建或登录用户?

Spring-mvc 与 reactjs 的集成?