如何从Django登录页面重定向到单页面应用程序?

时间:2017-12-09 20:59:18

标签: django redirect login single-page-application

我正在构建一个SPA React应用程序,该应用程序由/的单个Django视图提供服务。我正在使用Django的管理页面进行登录。

如果未登录的用户导航到/#/ accounts /,Django管理页面将正确地重定向到http://localhost:8000/admin/login/?next=/#/accounts/pp01/以进行登录。一旦他们登录,他们就会被重定向到我在/ url路径配置的Django视图。

重定向的#/ account / pp01部分丢失,用户被重定向到我的单页应用程序的错误部分(http://localhost:8000/#/)。有谁知道如何让这个工作?

我不明白为什么Django会切断URL的#部分。任何见解将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

您需要对重定向路径进行编码。实际上,您的浏览器认为它应该转到'#/ accounts / pp01 /'在路径' / admin / login?next = /',而不是散列是重定向路径本身的一部分。

您可以使用urllib.request.quote来引用路径。