如何在OS X中正确设置Django的GEOIP_PATH?
我刚开始学习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文件夹里。