django - 如何在 Django 中获取完整/绝对 URL(带域)?

标签 django

如何在 Django 中获取完整/绝对 URL(例如 https://example.com/some/path)without the Sites module ?这太愚蠢了……我不需要查询我的数据库来获取 URL!

我想将它与 reverse() 一起使用。

最佳答案

使用得心应手 request.build_absolute_uri()请求方法,将相对 URL 传递给它,它会给你完整的。

默认情况下,request.get_full_path() 的绝对 URL返回,但您可以将相对 URL 作为第一个参数传递给它,以将其转换为绝对 URL。

>>> request.build_absolute_uri()
'https://example.com/music/bands/the_beatles/?print=true'
>>> request.build_absolute_uri('/bands/?print=true')
'https://example.com/bands/?print=true'

关于django - 如何在 Django 中获取完整/绝对 URL(带域)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2345708/

相关文章:

python - Django:通过通用名称访问子不同子类的方法

django - 管理界面可编辑 Django 应用程序设置

django - 如何从安装包时创建的django admin注销表

python - 如何在不使用信用卡或没有钱的情况下在 Heroku 中安排 Django 后台任务?

django rest 框架多数据库

python - 我应该使用高级 GeoDjango 库进行一项简单的计算吗?

javascript/jquery : creating a list of all option elements's text in a select tag

Django 调试工具栏显示,但链接已损坏

django - 皮蒙戈 : Ignore null input value when searching documents

python - 枚举 Django 数据库缓存中的键