Python Django';s urlresolvers.reverse不为';还不够,剩下的怎么办?

Python Django';s urlresolvers.reverse不为';还不够,剩下的怎么办?,python,django,Python,Django,我正在向一个我无法控制的远程API发送一个回调URL 我已经编写了回调视图,并且在我的url.py中正确地命名了它(比如,myapp\u callback),所以我所要做的就是调用reverse('myapp\u callback'),对吗 嗯,没那么多。结果是/myapp/callback。我的协议和主机名在哪里?我将这些API调用发送到的远程服务不知道。我如何在Apache反向代理之后检测到它 我正在通过将完整的URL放入设置文件来解决这个问题,但我希望提供一个更“交钥匙”的解决方案。试试这

我正在向一个我无法控制的远程API发送一个回调URL

我已经编写了回调视图,并且在我的
url.py
中正确地命名了它(比如,
myapp\u callback
),所以我所要做的就是调用
reverse('myapp\u callback')
,对吗

嗯,没那么多。结果是
/myapp/callback
。我的协议和主机名在哪里?我将这些API调用发送到的远程服务不知道。我如何在Apache反向代理之后检测到它

我正在通过将完整的URL放入设置文件来解决这个问题,但我希望提供一个更“交钥匙”的解决方案。

试试这个

返回位置的绝对URI形式。如果未提供位置,则该位置将设置为请求。获取完整路径()

如果位置已经是绝对URI,则不会对其进行更改。否则,绝对URI将使用此请求中可用的服务器变量构建

示例: