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

3 投票
2 回答
3286 浏览
提问于 2025-04-17 23:28

我刚开始学习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.

2 个回答

0

和其他所有Django设置一样,可以通过项目的 settings 模块来进行设置。

5

你需要获取GeoIP数据,可以从MaxMind网站下载。然后,你需要在你的settings.py文件中设置一个叫做GEOIP_PATH的路径,指向你下载的GeoIP数据所在的位置。

你的文件夹结构可能和这个不完全一样,但对我来说,我的结构是这样的:

<project directory>
    ...
    geoip
    ...
    <app_directory>
        settings.py
    ...

在我的settings.py文件中,我设置了一个ROOT_PATH,指向项目的主目录,所以:

GEOIP_PATH = ROOT_PATH + '/geoip'

下载你需要的GeoIP数据的二进制或gzip版本,解压后放到那个geoip文件夹里。

撰写回答