我正在构建一个SPA React应用程序,该应用程序由/的单个Django视图提供服务。我正在使用Django的管理页面进行登录。
如果未登录的用户导航到/#/ accounts /,Django管理页面将正确地重定向到http://localhost:8000/admin/login/?next=/#/accounts/pp01/以进行登录。一旦他们登录,他们就会被重定向到我在/ url路径配置的Django视图。
重定向的#/ account / pp01部分丢失,用户被重定向到我的单页应用程序的错误部分(http://localhost:8000/#/)。有谁知道如何让这个工作?
我不明白为什么Django会切断URL的#部分。任何见解将不胜感激。谢谢!
答案 0 :(得分:1)
您需要对重定向路径进行编码。实际上,您的浏览器认为它应该转到'#/ accounts / pp01 /'在路径' / admin / login?next = /',而不是散列是重定向路径本身的一部分。
您可以使用urllib.request.quote
来引用路径。