django-ipgeobase - это приложение для определения региона (а также широты и долготы) в России по IP в Django
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 1 commit ahead, 39 commits behind satels:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
django_ipgeobase
.gitignore
CHANGES.txt
LICENSE.txt
MANIFEST.in
README
__init__.py
setup.py

README

================
django-ipgeobase
================

django-ipgeobase - это приложение для определения региона (а также широты и долготы) в России по IP в Django

Внимание: версия работает пока что только для Django 1.2+

Установка
=========

Проделываем в командной строке ::

  $ git clone git://github.com/satels/django-ipgeobase.git
  $ cd django-ipgeobase
  $ python setup.py install


Потом следует добавить 'django_ipgeobase' в INSTALLED_APPS и выполнить ::

  $ python manage.py syncdb


Настройка
=========

Необязательные параметры (в settings.py):

* IPGEOBASE_CODING - кодировка этого файла (по-умолчанию windows-1251, можно не менять).
* IPGEOBASE_SOURCE_URL - ссылка на этот файл на сайте-источнике (по-умолчанию установлено, можно не менять)
* IPGEOBASE_FILENAME - имя файла в скачиваемом архиве базы ipgeobase (по-умолчанию, "block_coord.db")
* IPGEOBASE_SEND_MESSAGE_FOR_ERRORS - отправлять ли сообщения об ошибках на почту при обновлении (по-умолчание, True)


Использование
=============

Для получения объекта ipgeobase (для определения региона) ::

  from django_ipgeobase.models import IPGeoBase

  ip = "212.49.98.48"

  ipgeobases = IPGeoBase.objects.by_ip(ip)
  if ipgeobases.exists():
      ipgeobase = ipgeobases[0]
      print ipgeobase.district #Округ (для указанного ip - Уральский)
      print ipgeobase.region #Регион (Свердловская область)
      print ipgeobase.city #Населенный пункт (Екатеринбург)
      print ipgeobase.ip_block #IP-блок, в который попали (212.49.98.0 - 212.49.98.255)
      print ipgeobase.start, ipgeobase.end #IP-блок в числовом формате
      print ipgeobase.latitude, ipgeobase.longitude #широта и долгота


Обновления базы
---------------

Чтобы обновить базу ipgeobase:

  $ python manage.py ipgeobase_update