1.0 MIT/X Consortium License    
  not rated
Another simple alternative to django-cities




django-cities-tiny is a Django app that provides models and commands to import country/zone/city data into your database. The data is pulled from GeoNames and contains:

  - country names
  - administrative division zones
  - city names

Spatial query support is not required by this application.

This application is very simple and is useful if you want to make a simple address book for example. If you intend to build a fully featured spatial database, you should use django-cities.

This is a fork of django-cities-light by James Pic. The main difference of django-cities-tiny is:

  - support for localized names (from alternateNames.txt)
  - support for administrative division zones (from admin1CodesASCII.txt, admin2Codes.txt, or from XX.txt)
  - required Django 1.0+, Python 2.3+ and no other dependences


Install django-cities-tiny:

    easy_install django-cities-tiny

Add `cities_tiny` to your `INSTALLED_APPS`.

Now, run syncdb, it will create all required tables for models::

    ./ syncdb

Data update

Finnaly, populate your database with command::

    ./ citiestinyrefresh

This command is well documented, consult the help with::

    ./ help citiestinyrefresh

Limiting data to import

If you want to import only cities from France, USA and Belgium you could do as such in your


Configure logging

To get output from citiestinyrefresh command simply pass the -v2 or or --verbosity=2 option. Also if you use Django 1.3+, you may configure logging system in your, simply configure a handler and formatter for `cities_tiny` logger. For example:

    LOGGING = {
        'version': 1,
        'disable_existing_loggers': False,
        'formatters': {
            'simple': {
                'format': '%(levelname)s %(message)s'
        'handlers': {
                'formatter': 'simple'
        'loggers': {
            'cities_tiny': {
                'propagate': True,
            # also use this one to see SQL queries
            'django': {
                'propagate': True,
Last updated on March 21st, 2012

0 User reviews so far.