Skip to main content

GeoIp data as an app to facilitate installing. Also features template filters, util functions and management commands for updating the data.

Project description

Install

pip install django-geoip-utils==0.0.2

In your settings write:

import geoip_utils
GEOIP_PATH = geoip_utils.where()

This product includes GeoLite data created by MaxMind, available from http://maxmind.com/

Settings

GEOIP_REQUEST_IP_RESOLVER

Default:

geoip_utils.core.remote_addr_ip

The function used for getting the IP of the client from the request.

Options:

  • geoip_utils.utils.remote_addr_ip uses the REMOTE_ADDR of the request. Good for development and standard setup

  • geoip_utils.utils.x_forwarded_ip picks the first IP of HTTP_X_FORWARDED_FOR. This is useful for Load balancers, but could be spoofed in some cases. Amazon ELB set this reliably though

  • geoip_utils.utils.real_ip uses the HTTP_X_REAL_IP attribute

GEOIP_CACHE_METHOD

Default:

GEOIP_MEMORY_CACHE

The caching function used for retrieving the location.

Utils

There are a few server utility functions to make the handling easier:

from geoip_utils import core
core.get_country(request)
core.get_city(request)
core.get_lat_lon(request)
core.get_country_code(request)
core.get_country_name(request)

Filters

There are filters for extracting the information you need in the templates. You need to have django.core.context_processors.request enabled in your TEMPLATE_CONTEXT_PROCESSORS:

{% 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 }}

Todo

  • Add a management command to update the database files

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-geoip-utils-0.0.6.tar.gz (18.8 MB view details)

Uploaded Source

File details

Details for the file django-geoip-utils-0.0.6.tar.gz.

File metadata

File hashes

Hashes for django-geoip-utils-0.0.6.tar.gz
Algorithm Hash digest
SHA256 6d3a204e46e96b916193c7641b8db0d53266ca8b4a3a1f1d9a6680104da1785c
MD5 6cc34d76caf02c12ec1c5c3572177616
BLAKE2b-256 dec23ec727aa6445c206f4f18e71b0aceb0d22580dbbead1e931a59a547abffd

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page