登录 | 注册
   首 页   分享小组   同 城   即时贴  
     高级搜索
Django网站如何使用GeoIP . . .  
小亨   楼主 

GeoIP是关于IP地址和地理位置的应用。例如:通过访问用户的IP,展现不同语言的页面。
目前,有很多付费的解决方案,数据库,或者web service。值得高兴的是Maxmind.com提供了免费的版本。下面我们在Django网站里使用一下GeoIP。

第一步,安装GeoIP C Api和库 http://www.maxmind.com/download/geoip/api/c/

第二步,下载数据文件。http://www.maxmind.com/download/geoip/database/

第三步,编译lighttpd mod_geoip模块 http://trac.lighttpd.net/trac/wiki/Docs:ModGeoip ,然后进行配置。

第四步,如果你是用php,实际上就可以用了。我们是用Django,所以你还必须安装GeoIP的python API http://www.maxmind.com/app/python

最后,在view function函数里加入

import GeoIP
country = 'unknown'

try:
ip = request.META['REMOTE_ADDR']
return HttpResponse(ip)

geo = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)
country = geo.country_code_by_addr(ip)
except:
raise


BTW,127.0.0.1是识别不了的。


jt.rocky   发表于 2008-07-16 00:08:23 1楼 

强。
不清楚js有没相关实现。
不过我觉得还是放上链接让用户自己点 就好。
比如某美国华人用户到aggua,aggua自动返回一个e文。不料该用户不懂e文。再也不来。
或者某来中国旅游的美国人到aggua,aggua自动返回一个cn文,不料该用户不懂cn文。再也不来。
记得有一阵用google,我想用google.com,结果google总自动跳到google.cn。
ps:纯粹瞎扯,扯远了,想哪儿说哪儿。



小亨   发表于 2008-07-16 08:16:36 2楼 

确实有这个问题,所以同意还是要放链接。



kings   发表于 2008-07-16 16:58:14 3楼 

你不是没有做国际化吗



小亨   发表于 2008-07-16 17:34:51 4楼 

阿瓜没用这个,我给别人做的项目,需要这个。



kings   发表于 2008-07-16 21:11:26 5楼 

django做国际化非常麻烦
java这方面比dj简单和好用





Django


返回小组讨论




©aggua.com 京ICP备07040486号 关于阿瓜 | BLOG | 排行榜 | 常见问题 | 友情链接
インプラント インプラント京都 インプラント費用 レーシック 審美歯科 わきが 脱毛 漢方 薬剤師求人 インプラント