我计划创建一个React/Django web应用程序。我计划在后端创建一个API来与我的React应用程序通信。我知道你可以通过在django项目目录中包含你的React应用程序并指向React中的index.html来集成React与django。
我仍然不确定这有什么好处。将django和react应用分开会更好吗?当我需要存储或检索数据时,我可以通过django API请求。
最好的方法是分开,并使用DRF (Django Rest Framework),这个库将提供serializers
,它基本上会解释你的请求,然后在Django的视图类/函数中处理它,整个过程是这样的(在前端和后端之间):
-
创建数据库(模型)中的表。
-
您创建视图,一些视图将从序列化器检索数据,以处理从客户端(react)发送的请求。
-
将视图映射到url。
现在反应部分:
-
你调用了一些api
-
请求被发送到后端(在本例中是django)。
-
请求以"JSON"数据格式,但是python不理解这种格式,这就是序列化器存在的原因!序列化器将解释数据并将其转换为python可以理解的内容(字典),然后请求将由视图处理。
-
将发送一个响应来响应。
希望这能让你明白,更多关于DRF的信息:
https://www.django-rest-framework.org/
序列化器还可以更改后端某些资源的查找字段,当您想在url
中查找名称而不是id时,这非常有用。关于序列化器的更多信息:
https://www.django-rest-framework.org/community/third-party-packages/序列化器
最好将两个项目分开,因为有很多原因,主要原因是当您需要在相同的后端或数据库上构建移动或桌面应用程序时,api的优势就来了,有很多原因,例如:将服务器分开来处理前端(静态文件)和后端(api和DB)的请求。