Django和React之间的通信
我正在尝试使用Django作为后端和React作为前端来设置项目.该项目有几个屏幕,DB中的大量信息和后端生成的图像,并将包括一些身份验证和不同屏幕的用户权限.
根据我发现 – 最好的方法是让Django渲染一个html文件: def index(request): return render(request,'frontend/index.html') 它引用了一个.js文件: <script src="{% static "frontend/main.js" %}"></script> 这是使用Webpack创建的. 这个main.js使用REST api从Django中检索所需的数据: fetch("...some Django endpoint..").then(response => ... this.setState(...retrieved data...)) 与仅使用Django作为后端Django模板的前端不同,后端可以直接将上下文发送到模板: def index(request): context = {'information': .... retrieve info from DB} return HttpResponse(loader.get_template('bla/index.html').render(context,request)) 模板可以直接使用此信息,而无需再次引用后端: {% for bla in information %} 我想知道这是否合理? 让前端使用REST来检索它需要的每条信息并且后端为它需要提供的每个数据部分暴露另一个REST api似乎过分(而不是仅仅将所有信息推送到单个dict并将其发送到以及模板), 此外,它需要至少2个RTT来呈现整页(我猜通常是可以的) 解决方法
我不同意这一行.我想说最好保持react应用程序和Django应用程序完全分开. 这种设置有几个优点. 从Django应用程序的角度来看,优点是: > Django不会为前端服务负担.使用gunicorn或uwsgi来提供Django API. 从后端释放前端应用程序是前端可能发生的最好的事情.例如: >如果你让Django服务于前端,你几乎被迫使用基于会话的身份验证(它不像你不能使用其他身份验证,但最重要的是拥有多个身份验证系统) 还有一些generic advantages of having backend and frontend separated. 有关于设置单独的Django ReactJs应用程序的介质,您可以阅读a fantastic tutorial. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- python – 一个线程中的gtkBuilder的get_object
- ipython-notebook – 通过django_extensions使用时设置IPyt
- python – 无法通过“open_new”在OS X中启动Web浏览器? (
- Python如何获取系统iops示例代码
- 如何将列表写入csv文件?
- Python中logging模块的用法实例
- python – 根据另一个键过滤字典列表以删除键中的重复项
- day59:Linux:编辑工具vim&文件类型&文件属性
- 使用Python操作Elasticsearch数据索引的教程
- python – 如何修补`__call__`方法?