返回本地主机前缀的 Django 文件字段 URL

django filefield returning localhost-prefixed URL

我尽量不在设置中指定 Web 应用程序的完整路径,以使其尽可能便携。

然而,

MEDIA_URL="/media/",从 Django FileField 模型返回的 URL 是 http://localhost/media/....

MEDIA_URL="//example.com/media/",返回的URL是http://example.com/media/....

但是模式 (http/s) 和域 (example.com) 应该与请求页面的相匹配。我该怎么做?

Django 应用程序通过 Nginx 结合 Gunicorn 提供服务。

听起来 nginx 和 Django 没有配置为传递和使用 http 主机名(例如 X-Forwarded-Host header)。这看起来是个不错的答案 - https://whosebug.com/a/58044808/6865