django-postal

A Django app for l10n of postal addresses
Download

django-postal Ranking & Summary

Advertisement

  • Rating:
  • License:
  • BSD License
  • Price:
  • FREE
  • Publisher Name:
  • Michael Thornhill
  • Publisher web site:
  • http://maithu.com

django-postal Tags


django-postal Description

A Django app for l10n of postal addresses django-postal is a Django application that provides a location agnostic model for postal addresses.The motivation behind this project is that most countries have different forms of postal addresses e.g. http://www.bitboost.com/ref/international-address-formats.html, http://en.wikipedia.org/wiki/Address_(geography)This app assumes that all postal addresses worldwide can be made up of 5 optional address lines plus a country code.It then localizes the title of each line dependant on the country selected. Further information on each address line can be gleaned from django.contrib.localflavor fields and widgets e.g. for the UKfrom django import formsfrom django.utils.translation import ugettext_lazy as _from django.contrib.localflavor.uk.forms import UKPostcodeField, UKCountySelectfrom postal.forms import PostalAddressFormclass GBPostalAddressForm(PostalAddressForm): line1 = forms.CharField(label=_(u"Company name"), required=False, max_length=50) line2 = forms.CharField(label=_(u"Street"), max_length=50) city = forms.CharField(label=_(u"Town"), max_length=50) state = forms.CharField(label=_(u"County"), widget=UKCountySelect, max_length=50) code = UKPostcodeField(label=_(u"Postcode"))It is hoped that various contributors will contribute address formats per country and that eventually this address information could find it's way back in to django.contrib.localflavorDevelopers, How to Contribute:$ git clone git@github.com:mthornhill/django-postal.git$ cd django-postal$ virtualenv . --no-site-packages$ source bin/activate$ python bootstrap.py$ bin/buildout -v$ bin/django syncdb$ bin/test$ bin/django runserverbrowse to http://localhost:8000new countries can be added to the src/postal folder by their 2 letter country code e.g. usEach country folder contains an __init__.py and a forms.py forms.py contains the localized addressUsage:1. Add django-countries and django-postal to your INSTALLED_APPS in settings.pye.g.INSTALLED_APPS = ( "countries", "postal", ... )2. In your view code import the code for getting a localized postal addressviews.pyfrom postal.views import get_postal_form_classform_class = get_postal_form_class("us")postal_form = form_class()3. Add postal_form to your templatessome_template.html{{postal_form}}4. In this case we will have a US postal form Requirements: · Python · Django · django-countries


django-postal Related Software