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/7923794/

相关文章:

javascript - 使用 jquery 迭代动态内容

python - 按字母顺序排序 Django models.py : refering to a model defined below

javascript - 通过 POST 发送到 Django View 的 JSON 字符串中的键和值反转

python - AppEngine(或者可能在 Django 中)是否有称为 insert_or_update 的快捷方法?为什么不?

python - 获取缓存结果后的 Django/Python 排序

python - Django 将模型字段作为参数传递给存储在另一个模型中的 URL

python - Django 管理性能问题

python - 在 GCE 上部署后的 Django FileNotFound 错误

python - Django 休息框架 : Get detail view using a field other than primary key integer id

python - 如何为用户建立配置文件 View ,该 View 还允许更新其信息