django - 带有SPA的Django REST - 什么结构
问题描述
带有SPA“内部”的Django REST还是完全独立?我正在潜入一个新项目,我将尝试构建一个 SaaS Web 应用程序,并且我已经着手在前端使用 Django Rest(与 Postgres 一起使用模式)和 React/Vue。
我不确定并且似乎无法得到答案的是人们构建这些框架的方式。例如,在https://www.valentinog.com/blog/drf/上,作者写道:
我看到以下模式(几乎每个 Web 框架都很常见):
React 在它自己的“前端”Django 应用程序中:加载单个 HTML 模板并让 React 管理前端(难度:中等)
Django REST 作为一个独立的 API + React 作为一个独立的 SPA(难度:难,它涉及到 JWT 进行身份验证)
混合搭配:Django 模板中的迷你 React 应用程序(难度:简单)
这是我的建议。
如果您刚开始使用 Django REST 和 React,请避免使用选项 2。
如果出现以下情况,请选择选项 1(在其自己的“前端”Django 应用程序中进行反应):
- 您正在构建一个类似应用程序的网站
- 界面有很多用户交互/AJAX
- 您可以使用基于会话的身份验证
- 没有搜索引擎优化问题
- 你对 React Router 没问题
为什么这是有益的,它实际上与拥有独立的 rest api 和独立的 SPA 有什么不同吗?我想使用 Django 的原因是我不必担心身份验证和授权,而且我还计划使用管理面板 - 如果我要为后端和前端使用两个完全独立的应用程序,这会“不起作用”吗? (例如,django rest 的唯一目的是公开 api 和前端以使用它)。
在同一个“根”项目中使用 django rest 和 SPA 我能得到什么所谓的好处
解决方案
推荐阅读
- python - Sklearn 在线预测,batch vs one by one
- python - 如何在pyspark中重命名数据框的列名?
- telegram - 如何检查机器人网址是否仅在电报的应用浏览器中打开
- ios - 如何在 UITableViewCell 目标 c 中添加复选框按钮
- sql - 使用 ROWNUM Oracle 选择第 n 行
- apache-camel - 使用包含日期范围的 sql 的骆驼端点 URI
- php - Symfony - Doctrine Single Table Inheritance ManyToOne 与父实体的关联
- php - 类 PhpStorm_Codeception_ReportPrinter 在 codeception 的 2.3.9 版本上不存在
- c# - 15 秒后在 C# 中自动隐藏 ViewBag 消息
- python - Python在迭代时从列表中删除