首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >DRF -如何在发送响应后重定向用户

DRF -如何在发送响应后重定向用户
EN

Stack Overflow用户
提问于 2022-11-04 11:48:15
回答 2查看 51关注 0票数 0

我面临以下问题:我正在构建一个第三方集成到我的Django应用程序中。已经使用第三方的用户应该能够点击一个按钮并被重定向到我的应用程序。在重定向过程中,第三方将发送带有JSON的POST请求,其中包含一些信息(电子邮件、一些ID等)。

我将使用这些信息来查看我的数据库中是否已经有了用户。

如果是,我想:

  • 返回一个带有用户ID和API键的响应,供第三方存储
  • ,然后将用户重定向到登录屏幕

如果没有,我想:

  • 创建用户并返回具有用户ID和API键的响应,供第三方存储
  • ,然后将用户重定向到确认屏幕。

我的问题是:在返回用户ID & API键之后,如何重定向用户?

我目前的逻辑是:

代码语言:javascript
代码运行次数:0
运行
复制
class UserList(APIView):
    ....

    def post(self, request):
        if account_exists:
            return Response(account_data)
            # NOW I WANT TO REDIRECT
        else:
            create_account()
            return Response(account_data)
            # NOW I WANT TO REDIRECT

我目前正在使用DRF来处理POST请求,但不确定这是否是最好的方法?

EN

回答 2

Stack Overflow用户

发布于 2022-11-04 12:06:15

您正在使用DRF,我猜您在这里构建了后端API,您可能正在使用前端客户端。

您不必在后端api中重定向用户,您必须在前端应用程序中这样做。

我的第一个解决方案-我将包括第三个数据连同用户ID和API键发送回用户,让我们命名这个xyz。现在,如果account_exists为真,则将响应true作为xyz的值发送,或者将false发送为xyz的值。

现在,在前端读取xyz的值,并使用javascript重定向用户。

代码语言:javascript
代码运行次数:0
运行
复制
** This is just an example you can apply relevant logic by yourself.
票数 0
EN

Stack Overflow用户

发布于 2022-11-04 12:07:38

如果是true if语句,请使用Part1 :从django.http导入HTTPResponseRedirect使用HttpResponseRedirect

传递数据第三方后,返回HTTPResponseRedirect(您所需要的)

Part2用于false if语句或else语句:

要将用户重定向到确认屏幕,请尝试JsonResponse

从django.http导入JsonResponse

在函数结束时,将其与return语句一起使用,如下所示:

返回JsonResponse(“确认XXXX",safe = False)

在逗号中写入的任何内容,都将显示在新模板上给用户。

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

https://stackoverflow.com/questions/74316576

复制
相关文章

相似问题

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