将maxmind geoip数据与金字塔web应用程序集成。
pyramid_geoip的Python项目详细描述
[金字塔geoip][]将[maxmind][]geoip数据库与[金字塔][]
/sqlalchemy web应用程序集成。您可以使用它通过其IP地址来定位传入请求:
data=request.geoip('89.16.224.130')
data['city',data['country_code']
->;'london','gb'
data['latitude',data['longitude']
->;51.5141999999988,-0.09309999999992633
geoip数据存储在一个*sql数据库*(而不是
将其存储在文件系统中),并在应用程序启动时将所有数据(许多MB)读入*内存*
。这很可能*不是*您想要的模式/设置,在
这种情况下,您可能会发现使用[pygeoip][]更好地集成您自己。
[alembic][]:
alembic-c$paste_-config-revision--autogenerate
alembic-c$paste_-config-upgrade head
覆盖数据源,使用
[pastedeploy配置文件][]:
geoip.cities_ip6_url=https://example.com/geolitectyv6.dat.gz
您还可以使用本地提供的数据文件,这些文件将覆盖从db machinery读取的url/
。默认查找的默认值为:
geoip.cititiip4\u-ipu-path=vendor/geolitecity.dat
geoip.citiip6.citiip6.dat
>使用“request.geoip”提供的实用工具按IP地址查找数据,例如在[view callable][]:
>默认情况下,默认情况下,这将按默认值查找数据,默认情况下,这将按默认值查找数据,这将按默认值使用传入请求的IP地址(从[wsgi environment][]中的“remote_addr”读取,或从[load balancer或proxy][]提供的“x-forwarded-for”头的值读取)。请注意
它也适用于IPv4和IPv6地址。
自己指定地址,例如:
data=request.geoip('89.16.224.130')
等:
data['country_code''''''gb''gb'
data['city''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''gb'>
data['>
注意,您可能需要:
1。在主
应用程序配置中“config.include”包之前运行此脚本(因为下载数据需要时间,并且
应用程序将挂起,直到数据可用)
1。计划每月运行一次测试,` pip安装nose coverage mock,例如:
$nosets pyramid撸geoip--with doctest--with coverage--cover tests--cover package pyramid撸geoip
……
name stmts miss cover missing
----------
pyramid撸geoip 10 0100%
金字塔geoip.interfaces 4 0 100%
金字塔geoip.lookup 69 0 100%
金字塔geoip.update 12 0 100%
总95 0 100%
——————————————————————————————————————————————————————---————
在0.041秒内运行了6个测试
[pyramid-geoip]:https://github.com/thruflo/pyramid-geoip
[maxmind]:http://www.maxmind.com/en/home
[pyramid]:http://pyramid.readthedocs.org
[pygeoip]:https://pypi.python.org/pypi/pygeoip
[pip]:http://www.pip-installer.org
[pyramid_-basemodel.blob.blob]:https://github.com/thruflo/pyramid_-basemodel/blob/master/src/pyramid_-basemodel/blob.py
[alembic]:http://alembic.readthedocs.org/en/latest/tutorial.html自动生成迁移
[配置应用程序]:http://pyramid.readthedocs.org/en/latest/narr/configuration.html
[视图可调用]:http://pyramid.readthedocs.org/en/latest/narr/views.html
[粘贴部署配置文件]:http://pyramid.readthedocs.org/en/latest/narr/paste.html
[wsgi环境]:http://en.wikipedia.org/wiki/web_服务器网关接口
[负载平衡器或代理]:http://en.wikipedia.org/wiki/x-forwarded-for
/sqlalchemy web应用程序集成。您可以使用它通过其IP地址来定位传入请求:
data=request.geoip('89.16.224.130')
data['city',data['country_code']
->;'london','gb'
data['latitude',data['longitude']
->;51.5141999999988,-0.09309999999992633
geoip数据存储在一个*sql数据库*(而不是
将其存储在文件系统中),并在应用程序启动时将所有数据(许多MB)读入*内存*
。这很可能*不是*您想要的模式/设置,在
这种情况下,您可能会发现使用[pygeoip][]更好地集成您自己。
[alembic][]:
alembic-c$paste_-config-revision--autogenerate
alembic-c$paste_-config-upgrade head
覆盖数据源,使用
[pastedeploy配置文件][]:
您还可以使用本地提供的数据文件,这些文件将覆盖从db machinery读取的url/
。默认查找的默认值为:
geoip.cititiip4\u-ipu-path=vendor/geolitecity.dat
geoip.citiip6.citiip6.dat
>使用“request.geoip”提供的实用工具按IP地址查找数据,例如在[view callable][]:
>默认情况下,默认情况下,这将按默认值查找数据,默认情况下,这将按默认值查找数据,这将按默认值使用传入请求的IP地址(从[wsgi environment][]中的“remote_addr”读取,或从[load balancer或proxy][]提供的“x-forwarded-for”头的值读取)。请注意
它也适用于IPv4和IPv6地址。
自己指定地址,例如:
data=request.geoip('89.16.224.130')
等:
data['country_code''''''gb''gb'
data['city''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''gb'>
data['>
注意,您可能需要:
1。在主
应用程序配置中“config.include”包之前运行此脚本(因为下载数据需要时间,并且
应用程序将挂起,直到数据可用)
1。计划每月运行一次测试,` pip安装nose coverage mock,例如:
$nosets pyramid撸geoip--with doctest--with coverage--cover tests--cover package pyramid撸geoip
……
name stmts miss cover missing
----------
pyramid撸geoip 10 0100%
金字塔geoip.interfaces 4 0 100%
金字塔geoip.lookup 69 0 100%
金字塔geoip.update 12 0 100%
总95 0 100%
——————————————————————————————————————————————————————---————
在0.041秒内运行了6个测试
[pyramid-geoip]:https://github.com/thruflo/pyramid-geoip
[maxmind]:http://www.maxmind.com/en/home
[pyramid]:http://pyramid.readthedocs.org
[pygeoip]:https://pypi.python.org/pypi/pygeoip
[pip]:http://www.pip-installer.org
[pyramid_-basemodel.blob.blob]:https://github.com/thruflo/pyramid_-basemodel/blob/master/src/pyramid_-basemodel/blob.py
[alembic]:http://alembic.readthedocs.org/en/latest/tutorial.html自动生成迁移
[配置应用程序]:http://pyramid.readthedocs.org/en/latest/narr/configuration.html
[视图可调用]:http://pyramid.readthedocs.org/en/latest/narr/views.html
[粘贴部署配置文件]:http://pyramid.readthedocs.org/en/latest/narr/paste.html
[wsgi环境]:http://en.wikipedia.org/wiki/web_服务器网关接口
[负载平衡器或代理]:http://en.wikipedia.org/wiki/x-forwarded-for