Django 单击电子邮件激活链接后,如何传递状态以响应前端

Django 单击电子邮件激活链接后,如何传递状态以响应前端,django,reactjs,django-rest-framework,Django,Reactjs,Django Rest Framework,使用ReactJS和Django REST框架,我正在构建一个用户可以注册的应用程序 提交注册表后,用户将获得一个电子邮件激活链接。单击该链接会将用户重定向回前端,返回一条消息,告诉他们电子邮件现在已激活。之后,它会将用户重定向到登录屏幕 流程A: 提交注册表->用户接收电子邮件激活链接->消息(新选项卡)->登录表单 一个新的标签打开后,点击电子邮件激活链接是一个关键的方面,因为这意味着我开始与新的状态 现在。我的应用程序让事情变得复杂,我正在开发的应用程序让用户有可能填满购物车。然后他们可以

使用ReactJS和Django REST框架,我正在构建一个用户可以注册的应用程序

提交注册表后,用户将获得一个电子邮件激活链接。单击该链接会将用户重定向回前端,返回一条消息,告诉他们电子邮件现在已激活。之后,它会将用户重定向到登录屏幕

流程A: 提交注册表->用户接收电子邮件激活链接->消息(新选项卡)->登录表单

一个新的标签打开后,点击电子邮件激活链接是一个关键的方面,因为这意味着我开始与新的状态

现在。我的应用程序让事情变得复杂,我正在开发的应用程序让用户有可能填满购物车。然后他们可以要求报价

流程B: 购物车->用户单击“请求报价”->报价概述/确认

用户需要登录才能请求报价。当他们单击请求报价但未登录时,他们将获得登录或注册的选项

流程C: 购物车->用户单击“请求报价”->页面请求用户登录或注册

当他们选择注册选项时,他们将被重定向到注册页面,并采用我前面描述的注册流程

现在,我想要实现的是在注册过程之后将用户重定向到报价概述/确认页面。这是他们将在流程B中结束的页面

但问题是我失去了所有的状态,因为一个新的标签被打开了

因此,我猜想处理这种情况的方法是将前端的必要状态存储在后端。例如,使用会话

我的问题是: 对于这种(类型的)情况是否有任何设计模式?


我可以解决这个问题,但我想以一种干净、正确的方式来解决它。

你可以保留你想要在整个页面重新加载或打开IndexDB、LocalStorage或Cookie中的新选项卡后生存下来的内容,然后在再次装入应用程序时读取这些信息并从中预填充状态

注意:IndexDB是最先进的解决方案,最差的是基于浏览器支持,LS适用于所有现代浏览器,Cookie适用于任何地方

对于匿名用户(例如未登录或注册),我肯定会使用此方法存储需要在整个页面重新加载或打开新选项卡(基本上从零开始重新加载应用程序)后仍然存在的内容

例如,如果用户单击电子邮件激活链接,这将导致一个路由,例如:
/registration/:token

您将安装一个组件,该组件将向用户显示消息“You have successfully confirmation your-mail”,并将其重定向到登录页面。但是,您可以使用上述解决方案之一的购物车信息预填充状态

用户成功登录后,您可以检查状态,然后确定购物车是否为空,并执行默认重定向(例如主页、用户配置文件或管理仪表板),或者如果购物车中有任何内容,您可以直接将用户重定向到quote overview