我可以告诉我的django应用程序在网址层次结构中的位置吗?

时间:2016-05-20 16:15:14

标签: python django url-routing

我需要将我的客户端重定向到我的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_oneendpoint_two能够使用完全相同的逻辑重定向到destination_endpoint

我的应用程序不知道URL的/some/other/namespaces/部分,并且该部分URL可能会根据部署而改变(或者在开发环境中可能根本不存在)。

我知道我可以使用每个端点的不同相对网址,并重定向到目标网址。但是,这需要endpoint_oneendpoint_two的处理程序知道它们在URL层次结构中的相对位置,这是我想要避免的。

1 个答案:

答案 0 :(得分:0)

在做了更多研究并与同事交谈之后,我意识到reverse完全符合我的需要。