如何在 OS X 中为 Django 正确设置 GEOIP_PATH?

Lad*_*v M 3 python django macos python-2.7

我刚刚开始使用 Python 和 Django,我想在我的 Mac 上将其与 GeoIP 一起使用。我已经使用 Homebrew 和 pip 来安装我需要的一切,但我还没有弄清楚如何设置 GeoIP 的路径。所以我总是收到这个错误:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.7/site-packages/django/contrib/gis/geoip/base.py", line 91, in __init__
    if not path: raise GeoIPException('GeoIP path must be provided via parameter or the GEOIP_PATH setting.')
django.contrib.gis.geoip.base.GeoIPException: GeoIP path must be provided via parameter or the GEOIP_PATH setting.
Run Code Online (Sandbox Code Playgroud)

小智 5

您需要 GeoIP 数据,可以从 MaxMind 下载,并且需要在 settings.py 模块中设置 GEOIP_PATH 以指向下载该 GeoIP 数据的位置。

您的目录结构可能与此不完全相同,但对我来说,我有

<project directory>
    ...
    geoip
    ...
    <app_directory>
        settings.py
    ...
Run Code Online (Sandbox Code Playgroud)

在我的 settings.py 中,我设置了一个 ROOT_PATH 来引用项目目录,所以

GEOIP_PATH = ROOT_PATH + '/geoip'
Run Code Online (Sandbox Code Playgroud)

下载您需要的 GeoIP 数据的二进制/gzip 版本,解压缩并将其放入该 geoip 目录中。