Доступ на стороне сервера к широте / долготе клиентского браузера с использованием Django - PullRequest
1 голос
/ 11 апреля 2010

Итак, я пишу небольшое приложение, которое сравнивает положение пользователя с базой данных на веб-сервере, написанном используя Django и выполняет с ним некоторые функции.

Доступ к данным геолокации браузера (в поддерживаемых браузерах) довольно тривиален с использованием JavaScript . Но что является лучшим способом разрешить сервер Django для доступа к переменным долготы и широты? Лучше ли обернуть их как объект JSON и отправить на сервер через POST? Или есть более простой (Geo) Django способ доступа к браузеру Navigator.geolocation объект.

Пожалуйста, простите новичку вопрос, подобный этому, но мой Google-Fuing, кажется, только находит способы вставить переменные в JavaScript через тег шаблона, тогда как мне нужно, чтобы он работал по-другому!

Любые советы или фрагменты кода приветствуются. Не стесняйтесь говорить со мной, как будто я идиот.

Ответы [ 2 ]

3 голосов
/ 12 апреля 2010

Вам действительно нужно ПОСТАВИТЬ данные о вашем местоположении в представление Django.

Если все, что вам нужно, это простые расчеты расстояния, взгляните на Geopy .

Если вы хотите взаимодействовать с ORM и фильтровать / искать по местоположению, вам нужно взглянуть на GeoDjango .

1 голос
/ 11 апреля 2010

Navigator.geolocation доступно только на стороне клиента. Вы должны будете отправить данные обратно на сервер, используя Javascript, например, через POST (как вы и предполагали).

...