GeoIp数据作为应用程序,方便安装。还包括模板过滤器、实用函数和管理命令以更新GeoIp数据。
项目描述
安装
pip install django-geoip-utils
在您的设置中写入
import geoip_utils GEOIP_PATH = geoip_utils.where()
此产品包含由MaxMind创建的GeoLite数据,可通过http://maxmind.com/获取
设置
GEOIP_REQUEST_IP_RESOLVER
- 默认值::
'geoip_utils.core.remote_addr_ip'
用于从请求中获取客户端IP的功能。
- 选项::
'geoip_utils.utils.remote_addr_ip'
使用请求的REMOTE_ADDR。适用于开发和标准设置
'geoip_utils.utils.x_forwarded_ip'
选择HTTP_X_FORWARDED_FOR请求头中的第一个IP。对于负载均衡器很有用,但在某些情况下可能会被欺骗。Amazon ELB设置此值是可靠的。
'geoip_utils.utils.real_ip'
使用HTTP_X_REAL_IP属性
GEOIP_CACHE_METHOD
- 默认值::
django.contrib.gis.geoip.GeoIP.GEOIP_STANDARD
用于检索位置的缓存功能。
- 选项::
django.contrib.gis.geoip.GeoIP.GEOIP_STANDARD
从文件系统读取数据库,使用最少的内存
django.contrib.gis.geoip.GeoIP.GEOIP_MEMORY_CACHE
将数据库加载到内存中,性能更好但使用更多内存
django.contrib.gis.geoip.GeoIP.GEOIP_CHECK_CACHE
检查更新数据库。如果数据库已更新,则重新加载文件句柄和/或内存缓存。此选项不是线程安全的,但适用于开发。
django.contrib.gis.geoip.GeoIP.GEOIP_INDEX_CACHE
仅缓存数据库中最常访问的索引部分,与GEOIP_STANDARD相比查找更快,但与GEOIP_MEMORY_CACHE相比内存使用更少 - 适用于更大的数据库,例如GeoIP Organization和GeoIP City。注意,对于GeoIP Country、Region和Netspeed数据库,GEOIP_INDEX_CACHE与GEOIP_MEMORY_CACHE等效。
django.contrib.gis.geoip.GeoIP.GEOIP_MMAP_CACHE
将数据库加载到mmap共享内存中(Windows上不可用)。
工具
有几个服务器实用函数可以使处理更简单。
from geoip_utils import core as geoip geoip.get_country(request) geoip.get_city(request) geoip.get_lat_lon(request) geoip.get_country_code(request) geoip.get_country_name(request)
模板过滤器
在模板中存在用于提取所需信息的过滤器。您需要在您的TEMPLATE_CONTEXT_PROCESSORS中启用django.core.context_processors.request。
{% load geoip_tags %} {{ request|country_code_of_request }} {{ request|city_name_of_request }} {{ request|postal_code_of_request }} {{ request|region_of_request }} {{ request|dma_code_of_request }} {{ request|area_code_of_request }} {{ request|lat_of_request }} {{ request|lon_of_request }}
管理命令
您可以通过运行update_geoip_data管理命令来就地下载更新的GeoIP数据。
项目详情
django-geoip-utils-0.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 29e47a4a4be283c8b80db5c72820325686b7130a9cd4294bc0b1ab8269c99002 |
|
MD5 | a4d9aa906eb41d395eef8e35ba32b45d |
|
BLAKE2b-256 | 3a33a7c5c7d80dadad2d50bdf82ceed4273b0ad31d52a8dcb5205de26e4c92b3 |