我收到了未知的geoip2错误

时间:2018-05-21 04:43:41

标签: django geoip

我正在尝试测试geoip,但它没有工作,我做了以下步骤: -

$ pip install geoip2

settings.py

GEOIP_PATH = os.path.join(BASE_DIR,  'geoip')
INSTALLED_APPS = [ 'geoip2', ]

在终端

$./manage.py shell
$ from django.contrib.gis.geoip2 import GeoIP2
$ g = GeoIP2()

我收到了错误,即

  

引发GeoIP2Exception(' GeoIP路径必须是有效的文件或目录。')   django.contrib.gis.geoip2.base.GeoIP2Exception:GeoIP路径必须是有效的文件或目录。

1 个答案:

答案 0 :(得分:0)

来自Docs

  

GeoIP2对象是MaxMind geoip2 Python库的包装器。   1

     

为了执行基于IP的地理定位,GeoIP2对象需要   geoip2 Python库和GeoIP Country和/或City数据集   以二进制格式(CSV文件不起作用!)。抓住   GeoLite2-Country.mmdb.gz和GeoLite2-City.mmdb.gz文件并解压缩   它们位于与GEOIP_PATH设置相对应的目录中。

     

此外,建议安装libmaxminddb C库,   这样geoip2就可以利用C库的更快速度。

请确保您已完成上述操作,否则系统将无法正常工作。