@ckatala

Django request.build_absolute_uri?

Почему request.build_absolute_uri возвращает localhost:8000, но не имя домена?
Запущен сервер джанги + прокси nginx
location / {
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_redirect off;
  proxy_pass http://localhost:8000/;
}

В моделе
return request.build_absolute_uri(profile_picture_url)

возвращает http:// localhost:8000/ m/avatar.png
мне надо http:// domain/ m/avatar.png
  • Вопрос задан
  • 913 просмотров
Пригласить эксперта
Ответы на вопрос 1
neatsoft
@neatsoft
Life is too short for bad software
1. В settings.py нужно добавить USE_X_FORWARDED_HOST == True
2. В конфигурации Nginx установить хэдер X-Forwarded-Host
Документация: Django documentation > Settings > USE_X_FORWARDED_HOST
Функция, которая возвращает имя хоста: request.py:_get_raw_host()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы