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

3

我刚开始学习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个回答

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目录中。


0

与其他Django设置相同:通过项目的settings模块进行。


如果我通过pip安装了GeoIP,我在哪里可以找到路径?没有/usr/local/share/GeoIP/文件夹。 - Ladislav M
无论您在何处安装了GeoIP数据。 - Ignacio Vazquez-Abrams

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接