주소에 대한 단일 양식 필드에 대해 잘 모릅니다. 주소 필드 생성을 위해 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)
...
더 많은 코드가 있지만 여기에 붙여 넣기가 조금 있습니다. 이 정보를 통해 올바른 방향으로 나아갈 수 있습니다.
참고 : 2013 년 11 월 21 일부터 localflavor가 외부 패키지 (available on PyPi)로 옮겨졌습니다.