Получение атрибута ID из URL
В моем проекте django есть url:
https://example.com/nice_page#123
Этот url приведет пользователя к определенному посту на моей странице, вот пример, как это работает на stackoverflow:
Что такое "проблема N+1 selects" в ORM (Object-Relational Mapping)? (это ссылка на конкретный ответ, и ваш браузер переместит вас прямо к этому ответу)
Моя цель - to get
это #123
идентификатор from url
.
Я не могу сделать это с данными META от django request.META
он не показывает этот #123
id, он возвращает мне только https://example.com/nice_page
Как я могу получить этот #123
идентификатор?
Я бы предпочел сделать это с помощью django, но javascript также приемлем.
Обновление: как следует из комментариев, благодаря -... Willem Van Onsem и Ankit Tiwari, эта задача неразрешима на стороне сервера (силами django) Как получить доступ к url хэшу/фрагменту из объекта Django Request
.
Да, только с помощью JavaScript. Например, используя пример из здесь:
const url = new URL('https://example.com/nice_page#123');
console.log(url.hash); // Logs: '#123'
Или сослаться на хэш текущего URL в браузере:
console.log(window.location.hash);
Вы можете использовать location.search и URLSearchParams.
https://example.com/nice_page?id=123
const params = new URLSearchParams(window.location.search);
const id = parseInt(params.get("id"));
console.log(id);
Подробнее об этом вы можете прочитать здесь: https://developer.mozilla.org/en-US/docs/Web/API/Location/search