我怎么能得到完整/绝对的URL(例如https://example.com/some/path)在Django没有网站模块?这太愚蠢了……我不需要查询我的数据库来抓取URL!

我想使用reverse()。


当前回答

不是绝对的url,但我正在寻找只是得到主机。如果你想在view.py中获得host,你可以这样做

def my_view(request):
   host = f"{ request.scheme }://{ request.META.get('HTTP_HOST') }"

其他回答

我使用这个代码:

request.build_absolute_uri('/')[:-1]

回应:

https://yourdomain.com

在你看来,只需这样做:

base_url =  "{0}://{1}{2}".format(request.scheme, request.get_host(), request.path)
request.get_host()

在django中使用这个请求对象

我明白了:

wsgiref.util.request_uri(request.META)

获取包含模式、主机、端口路径和查询的完整uri。

如果你想使用reverse(),你可以这样做:request。build_absolute_uri(反向(view_name, args = (obj。pk,)))