Hey everyone, have a multivaluefield to gather a US phone number with an optional extension. It looks great on the form, however during the form preview it looks pretty ugly. In the database the number gets stored as 555 555 5555 x5555 however in the form preview it looks like this: [u'555', u'555', u'5555', u'5555']. How can I pretty the output in the preview form? Any help would be appreciated.
In my model in models.py I define these two fields: telephone_number = models.CharField(blank=True, max_length=34, help_text="The person's telephone number.") confirm_telephone_number = models.CharField(blank=True, max_length=34) I define the following widget and field: class PhoneNumberWidget(forms.MultiWidget): def __init__(self,attrs=None): wigs = (forms.TextInput(attrs={'size':'3','maxlength':'3'}),\ forms.TextInput(attrs={'size':'3','maxlength':'3'}),\ forms.TextInput(attrs={'size':'4','maxlength':'4'}),\ forms.TextInput(attrs={'size':'4','maxlength':'4'})) super(PhoneNumberWidget, self).__init__(wigs, attrs) def decompress(self, value): if value: return value return [None, None, None, None] def format_output(self, rendered_widgets): return '('+rendered_widgets[0]+')'+rendered_widgets[1]+'-'+rendered_widgets[2]+'ext'+rendered_widgets[3] class PhoneNumberField(forms.MultiValueField): widget = PhoneNumberWidget def __init__(self, *args, **kwargs): fields=(forms.CharField(max_length=3), forms.CharField(max_length=3), forms.CharField(max_length=4), forms.CharField(max_length=4)) super(PhoneNumberField, self).__init__(fields, *args, **kwargs) def compress(self, data_list): if data_list[0] in forms.fields.EMPTY_VALUES or data_list[1] in forms.fields.EMPTY_VALUES or data_list[2] in forms.fields.EMPTY_VALUES: raise forms.fields.ValidationError(u'Enter valid phone number') if data_list[3] in forms.fields.EMPTY_VALUES: return data_list[0]+' '+data_list[1]+' '+data_list[2] else: return data_list[0]+' '+data_list[1]+' '+data_list[2]+' x'+data_list[3] -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.