Я не знаю ни одного поля формы для адресов, но вы можете использовать localflavor
для проверки ввода и комбо из MultiWidget
и MultiValueField
для создания поля адреса. Моя выглядит примерно так:
class SplitAddressWidget(forms.MultiWidget):
def __init__(self, attrs=None):
widgets = []
widgets.append(forms.TextInput(attrs=attrs))
widgets.append(forms.TextInput(attrs=attrs))
widgets.append(forms.TextInput(attrs=attrs))
widgets.append(forms.TextInput(attrs=attrs))
widgets.append(forms.TextInput(attrs=attrs))
super(SplitAddressWidget, self).__init__(widgets, attrs)
...
class SplitAddressField(forms.MultiValueField):
widget = SplitAddressWidget
def __init__(self, *args, **kwargs):
fields = (
forms.CharField(required=kwargs['required']),
forms.CharField(required=0),
forms.CharField(required=kwargs['required']),
USStateField(required=kwargs['required']),
USZipCodeField(required=kwargs['required']),
)
super(SplitAddressField, self).__init__(fields, *args, **kwargs)
...
В коде задействовано больше кода, но его здесь немного. Эта информация должна направить вас в правильном направлении.
Примечание. По состоянию на 21 ноября 2013 г. localflavor был перенесен во внешний пакет ( доступен в PyPi ).