django
에서 사용자 등록 양식을 작성했습니다. 사용자가 등록한 도시를 알고 싶습니다.데이터베이스에 등록 할 때 사용자 위치를 저장하는 간단한 방법이 있습니까
사용자의 IP address
을 얻은 다음 그 IP에 대해 어떻게 든 city
을 얻는 방법이 있습니까? 일부 API
또는 something
django
에서 사용자 등록 양식을 작성했습니다. 사용자가 등록한 도시를 알고 싶습니다.데이터베이스에 등록 할 때 사용자 위치를 저장하는 간단한 방법이 있습니까
사용자의 IP address
을 얻은 다음 그 IP에 대해 어떻게 든 city
을 얻는 방법이 있습니까? 일부 API
또는 something
를 사용하여 여기 GeoIP가 기능입니다 : https://github.com/aschem/django-user-location
이 사용자의 IP 위치 정보를 확인하는 것은 좋은 생각이의 definetly 아니라,이 방해하고 시간의 80 % .. unexact 될 것
앱을 정말 geodatas 필요한 경우 유일한 방법은 자신이 허용 할 경우 사용자를 요청하는 것입니다 그것은 :
<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>
REMOTE_ADDR
속성은 request.META
입니다. 원격 주소에 대한 완벽한 솔루션은 this post을 확인하십시오.
addr = request.META.get('REMOTE_ADDR', None)
을이 IP 주소를 저장합니다
등록하는 동안, 당신은 할 수 있습니다.
지금, 당신은이 같은 GeoIP
을 사용하여 도시 얻을 수있는 신뢰할 수있는 방법에
from django.contrib.gis.utils import GeoIP
g = GeoIP()
addr = request.META.get('REMOTE_ADDR', None) #Or retrive this from the userprofile you saved while registering
city = 'New York' #Or any default city
if addr:
city = g.city(addr)['city']
'g = GeoIP()'를 입력하면 오류가 발생합니다. '매개 변수 또는 GEOIP_PATH 설정을 통해 GeoIP 경로를 제공해야합니다.'오류가 발생했습니다. – user2424160
게시 한 링크를 확인하십시오. 그것은 당신이 필요로하는 모든 것을 갖추고 있습니다. 너에게 단지 요지를 줬어. – karthikr
하지 않음을, 또는 적어도 장고있다. 문제는 사용자 IP가 일반적으로 동적이어서 주소가 며칠마다 변하는 것입니다. 또한 일부 ISP는 곧 IPv4 IP 주소가 부족하기 때문에 사용자의 큰 블록 (하나의 IP 주소가 무엇인지 잊어 버린)에 대해 단일 IP를 사용하기 시작할 것입니다. 다시 말해, 전체 주 또는 심지어 ISP 내의 모든 사용자는 국가는 단일 IP 주소를 갖습니다.
IP를 사용하면 신뢰할 수 없습니다. 합리적인 정확성으로 사용자의 국가 또는 지역을 파악할 수 있지만 로깅 및 사용 목적 (예 : 스팸 IP 차단) 이외의 용도로는 IP를 사용하지 않는 것이 좋습니다.
사용자 위치를 원하면 휴대 전화에서 GPS 센서를 사용하는 등의 다른 방법을 사용할 수 있으므로 HTML5 위치 API를 사용하면 훨씬 정확한 위치를 얻을 수 있습니다.
이 질문에 대한 답변은 : http://stackoverflow.com/questions/4581789/how-do-i-get-user-ip-address-in-django –
그 질문은 IP를 얻는 것에 관한 것입니다. 그 IP의 위치. – miki725