我需要将我的客户端重定向到我的django应用程序中的另一个端点。我知道我可以使用request.build_absolute_uri()
的相对网址来执行此操作,但我正在搜索一个通用的解决方案,它不需要重定向处理程序知道它在URL层次结构中的位置。
举个例子,我在以下两个网址上都有处理程序:
https://example.com/some/other/namespace/MY_APP/endpoint_one
https://example.com/some/other/namespace/MY_APP/foo/bar/endpoint_two
两个处理程序都需要重定向到此URL:
https://example.com/some/other/namespace/MY_APP/baz/destination_endpoint
我希望endpoint_one
和endpoint_two
能够使用完全相同的逻辑重定向到destination_endpoint
。
我的应用程序不知道URL的/some/other/namespaces/
部分,并且该部分URL可能会根据部署而改变(或者在开发环境中可能根本不存在)。
我知道我可以使用每个端点的不同相对网址,并重定向到目标网址。但是,这需要endpoint_one
和endpoint_two
的处理程序知道它们在URL层次结构中的相对位置,这是我想要避免的。
答案 0 :(得分:0)
在做了更多研究并与同事交谈之后,我意识到reverse
完全符合我的需要。