如何在Django中获取完整/绝对URL(带域名)?
如何在 没有Sites模块的情况下获取 Django中的完整/绝对URL(例如 https://example.com/some/path )? 那真是太傻了......我不应该查询我的数据库以获取URL! 我想用 reverse() 来使用它。 #1楼 你可以尝试“request.get_full_path()” #2楼 如果你想使用 reverse() 你可以这样做: request.build_absolute_uri(reverse('view_name', args=(obj.pk, ))) #3楼 检查进来的 Request.META 字典。我认为它有服务器名称和服务器端口。 #4楼 根据请求使用方便的 request.build_absolute_uri() 方法,将相关网址传递给它,它会给你一个完整的。 默认情况下,返回 request.get_full_path() 的绝对URL,但您可以将相对URL作为第一个参数传递给它,以将其转换为绝对URL。 #5楼 如果您无法访问 request 则无法在此处的某些解决方案中使用 get_current_site(request) 。 您可以使用本机Sites框架和 get_absolute_url 的组合。 在管理员中设置至少一个 站点 ,确保您的模型具有 get_absolute_url() 方法,然后: >>>