[Django App] GEOIP2

[순서]

django에서 geoip2 설치
geo data 설치
django 환경설정
django 활용


[django에서 geoip2 설치]

pip install geoip2


[geo data 설치]

https://www.maxmind.com 에서 회원가입을 한다.

로그인 한 후 "my Account"에서 "Download Database"를 선택한다.



필요한 데이터를 다운로드 한다. (GeoLite2-City, GeoLite2-Country) GZIP 다운로드


/home/ubuntu/project/data/geo 디렉토리를 생성한다.

다운로드한 tar파일을 압축해제 하고 *.mmdb파일을 /home/ubuntu/project/data/geo 디렉토리로 복사한다.


[django 환경설정]

django settings.py에 다음을 추가한다.

# geoip2 Setttings

GEOIP_PATH=os.path.join(BASE_DIR, 'data/geo')


[django 활용]

python manage.py shell
>>> from django.contrib.gis.geoip2 import GeoIP2
>>> g = GeoIP2()
>>> g.country('google.com')
{'country_code': 'US', 'country_name': 'United States'}
>>> g.city('72.14.207.99')
{'city': 'Mountain View',
'continent_code': 'NA',
'continent_name': 'North America',
'country_code': 'US',
'country_name': 'United States',
'dma_code': 807,
'is_in_european_union': False,
'latitude': 37.419200897216797,
'longitude': -122.05740356445312,
'postal_code': '94043',
'region': 'CA',
'time_zone': 'America/Los_Angeles'}
>>> g.lat_lon('salon.com')
(39.0437, -77.4875)
>>> g.lon_lat('uh.edu')
(-95.4342, 29.834)
>>> g.geos('24.124.1.80').wkt
'POINT (-97 38)'

댓글

이 블로그의 인기 게시물

[Django Install] 9.1 sc제일은행 nginx-django 연결

[Django APP] django-widget-tweaks

[Django App] django-user-agents