带有Django的ReactJS-实际用法

Django

逆天飞云

2020-03-14

我对React有点困惑,我很喜欢它。它比Angular更为冗长(使用| filter的ng-repeat是无价的),但是还可以。

让我烦恼的是,我应该如何将React与Django模板一起使用。我是否应该将所有JavaScript连同“ HTML”标记一起放入模板中。

实施Angular非常无缝。我只是将一些属性放入template / django表单类中,然后在单独的文件中编写了javascript。包括该文件,就完成了。

如何对“使用”做出反应?正确的方法是什么?

提前致谢!

第1603篇《带有Django的ReactJS-实际用法》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
伽罗理查德 2020.03.14

我实现了与您所要求的类似的东西。我的前端完全在使用webpack编译的reactjs上,而我的模板是在Django中创建的。

所以我这样做:

  1. 使用react-router并进行响应以创建.jsx / .js代码。
  2. 使用webpack进行编译。
  3. 使用django-webpack

因此,django-webpack的工作原理非常好,并且可以帮助您在django之外隔离编译,以使想法以一种可扩展的好方式工作。

樱猪猪 2020.03.14

如果您将前端和后端视为两个不同的独立实体怎么办?我的意思是:

  1. Django应该只是一个API,并以json数据作为响应
  2. 前端只能是nginx服务的静态文件
  3. 您可能需要处理CORS,以便允许两者之间进行通信。一种选择是允许来自您的前端的预检请求,另一种选择是设置nginx代理。这是一个单独的问题,如果需要更多详细信息,则应进行搜索。

我认为这种体系结构使您可以将事物分开,而不处理它们的集成。在前端/ React生态系统上事情已经太复杂了,因此我认为必须考虑配置的简单性。

我也很想知道部署过程将如何寻找该体系结构(使用什么工具?),因此,如果您有建议,请添加注释,我将相应地更新响应以为将来的读者提供有用的信息。

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android