返回本地主机前缀的 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
我尽量不在设置中指定 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