Доступ к местоположению "Браузер"
Мы все видели эту подсказку:
Насколько я знаю, это не определение местоположения на основе IP. Это определение местоположения на основе устройства.
Мне не нужно определение местоположения по IP, потому что 1) оно ненадежно и 2) если пользователь просматривает мой сайт с помощью VPN, данные о местоположении будут абсолютно неверными.
Я просмотрел PyPi.org и DjangoPackages.org, но не нашел ничего, чтобы реализовать это в моем Django приложении.
Есть ли решение?
Чтобы заставить браузер запрашивать у пользователя геолокацию, необходимо использовать javascript.
Этот фрагмент из w3schools демонстрирует это.
Широту и долготу можно затем передать бэкенду.
<!DOCTYPE html>
<html>
<body>
<p>Click the button to get your coordinates.</p>
<button onclick="getLocation()">Try It</button>
<p id="demo"></p>
<script>
var x = document.getElementById("demo");
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
x.innerHTML = "Geolocation is not supported by this browser.";
}
}
function showPosition(position) {
x.innerHTML = "Latitude: " + position.coords.latitude +
"<br>Longitude: " + position.coords.longitude;
}
</script>
</body>
</html>