DjangoでのGeoIp2の設定から使い方
はじめに
-
Django1.9以上
-
GeoIp2-databaseのダウンロードをMAXMIND公式サイトから入手する必要がある。
ユーザー登録を行うことで無償ファイルをダウンロードすることができる。
設定
django-geoip2-extrasのインストール
# cmd
pip install django-geoip2-extras
setting.pyを編集
####GeoIP2Middlewareを追加する
# setting.py
MIDDLEWARE = [
~
'django.contrib.sessions.middleware.SessionMiddleware',
# SessionMiddlewareの後にGeoIP2Middlewareを追加する
'geoip2_extras.middleware.GeoIP2Middleware',
~
]
GEOIP_PATHを設定する
# setting.py
GEOIP_PATH = os.path.join('mmdbを配置しているパス')
使い方
# geoip2をインポート
from django.contrib.gis import geoip2
# インスタンス化
geo_ip2 = geoip2.GeoIP2()
# 引数にはドメイン名またはipアドレスを設定する
geo_ip2.city(query)
geo_ip2.country(query)
geo_ip2.country_code(query)
geo_ip2.country_name(query)