首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Django和React之间的通信

Django和React之间的通信
EN

Stack Overflow用户
提问于 2018-09-21 16:50:03
回答 1查看 2.5K关注 0票数 7

我正在尝试设置一个项目,使用Django作为后端,使用React作为前端。该项目有几个屏幕,数据库中的大量信息和图像生成的后端,并将包括一些身份验证和不同屏幕的用户权限。

根据我所发现的-最好的方法是让Django呈现一个html文件:

代码语言:javascript
复制
def index(request):
    return render(request, 'frontend/index.html')

它引用.js文件:

代码语言:javascript
复制
<script src="{% static "frontend/main.js" %}"></script>

这是用Webpack创建的。

此main.js使用REST api从Django检索所需的数据:

代码语言:javascript
复制
 fetch("...some Django endpoint..").then(response => ... this.setState(...retrieved data...))

不同于仅将Django用于后端+ Django模板用于前端时,后端可以直接将上下文发送到模板:

代码语言:javascript
复制
def index(request):
    context = {'information': .... retrieve info from DB}
    return HttpResponse(loader.get_template('bla/index.html').render(context, request))

模板可以直接使用此信息,而无需再次引用后端:

代码语言:javascript
复制
{% for bla in information %}

我想知道这是不是一个合理的设置?

让前端使用REST来检索它需要的每一条信息,而让后端为它需要提供的每一部分数据公开另一个REST api,这似乎有点过分(而不是仅仅将所有信息推送到一个字典中,并将其与模板一起发送)。

此外,它需要至少2个RTT来呈现整个页面(我想这通常是可以的)

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52439996

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档