首页 > 解决方案 > 带有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 我能得到什么所谓的好处

标签: djangodjango-rest-framework

解决方案


推荐阅读