我面临以下问题:我正在构建一个第三方集成到我的Django应用程序中。已经使用第三方的用户应该能够点击一个按钮并被重定向到我的应用程序。在重定向过程中,第三方将发送带有JSON的POST请求,其中包含一些信息(电子邮件、一些ID等)。
我将使用这些信息来查看我的数据库中是否已经有了用户。
如果是,我想:
如果没有,我想:
我的问题是:在返回用户ID & API键之后,如何重定向用户?
我目前的逻辑是:
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请求,但不确定这是否是最好的方法?
发布于 2022-11-04 04:06:15
您正在使用DRF,我猜您在这里构建了后端API,您可能正在使用前端客户端。
您不必在后端api中重定向用户,您必须在前端应用程序中这样做。
我的第一个解决方案-我将包括第三个数据连同用户ID和API键发送回用户,让我们命名这个xyz。现在,如果account_exists为真,则将响应true作为xyz的值发送,或者将false发送为xyz的值。
现在,在前端读取xyz的值,并使用javascript重定向用户。
** This is just an example you can apply relevant logic by yourself.
发布于 2022-11-04 04:07:38
如果是true if语句,请使用Part1 :从django.http导入HTTPResponseRedirect使用HttpResponseRedirect
传递数据第三方后,返回HTTPResponseRedirect(您所需要的)
Part2用于false if语句或else语句:
要将用户重定向到确认屏幕,请尝试JsonResponse
从django.http导入JsonResponse
在函数结束时,将其与return语句一起使用,如下所示:
返回JsonResponse(“确认XXXX",safe = False)
在逗号中写入的任何内容,都将显示在新模板上给用户。
https://stackoverflow.com/questions/74316576
复制相似问题