Django - Получить необработанный путь запроса - PullRequest
2 голосов
/ 03 марта 2020

Как мне получить необработанный путь запроса (все после имени хоста и порта) в Django?

Я пытался request.get_full_path(), но он не работает для некоторых URL.

Например, когда URL равен http://localhost:8000/data/?, результат будет /data/ вместо /data/?.

Я знаю, что сервер получает полную строку, потому что он покажите "GET /data/? HTTP/1.1" 200 642 в терминале.

1 Ответ

0 голосов
/ 03 марта 2020

Вы можете использовать request.build_absolute_uri()

Зависит от исходного кода:

Создает абсолютный URI из местоположения и переменных, доступных в этом запросе. Если location не указано, абсолютный URI строится на request.get_full_path(). В любом случае, если местоположение является абсолютным, оно просто преобразуется в URI, совместимый с RF C 3987, и возвращается, а если местоположение является относительным или относительным к схеме (т. Е. //example.com/), оно объединяется с базовым URL, созданным из переменные запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...