Hi,

I've searched but don't seem to see anyone else experiencing this
issue.  I think it must be a django bug, I just want to know is this a
known issue, and if so, if there is a patch already in the works.

I have a view which displays a form and inline formset for user and
profile model data. The problem I am having is with the email field
validation. For simple problems, it works just fine (e.g. entering
"becky" will return a validation error, but entering
"be...@example.com" is valid).  But when I was testing, I discovered
that entering "be...@instansa.commmmmmmmmmmmmmmmmm" causes the
application to hang, requiring a restart of the web server. There are
no errors, it just looks like it's stuck in a loop. This occurs
somewhere within the is_valid() call on the profile formset.

Here's the relevant part of the view code:

    user = User.objects.get(pk=request.user.pk)
    user_profile = UserProfile.objects.get_or_create(user = user)
    ProfileInlineFormset = inlineformset_factory(User,
                                                 UserProfile,
                                                 can_delete=False,
 
form=instansa_forms.ProfileForm)
    rDict = {}
    rDict['user'] = user
    rDict['title'] = 'Settings'
    rDict['request'] = request

    error = None
    message = None

    if request.method == "POST":
        print "this is a post"
        SettingsForm = instansa_forms.SettingsForm(request.POST,
instance=user)
        ProfileFormset = ProfileInlineFormset(request.POST,
request.FILES, instance=user)

        print "about to validate"
        if SettingsForm.is_valid():
            print "valid settings"
            if ProfileFormset.is_valid():
                print "valid profile"

This is the relevant part of forms.py:

class ProfileForm(forms.ModelForm):
    email_to_display = forms.EmailField(required=False, max_length=75,
widget=forms.TextInput(attrs={'size':'75'}), help_text='This email
address will be displayed as a link on your Ask page.')
    phone_to_display = forms.CharField(required=False, help_text='This
phone number will be displayed on your Ask page.')
    phone_admin = forms.CharField(required=False, label='Phone for
admin', help_text='This phone number is not displayed. For use only by
Instansa in administration of your account.')
    company_name = forms.CharField(required=False,
widget=forms.TextInput(attrs={'size':'50'}))
    url = forms.URLField(required=False, widget=forms.TextInput(attrs=
{'size':'50'}), label='Website URL', help_text='A link to this URL
will be displayed on your Ask page to direct your customers back to
your website.')
    ask_prompt = forms.CharField(required=False, widget=forms.TextInput
(attrs={'size':'50'}), help_text='100 characters or fewer. A helpful
prompt displayed above the question field on your Ask page to help
users.')
    class Meta:
        model = UserProfile
        fields=
('email_to_display','phone_admin','phone_to_display','company_name','url','ask_prompt')

and this is how the email form is set up in models.py (though this
error occurs when validating the standard user email as well.)

    email_to_display = models.EmailField(blank=True, max_length=75)

Any insight into this problem, and a simple workaround will be greatly
appreciated!  Forgive me if I have omitted any useful information.

Thanks,
Becky
-- 
You received this message because you are subscribed to the Google Groups 
"Django developers" group.
To post to this group, send email to django-develop...@googlegroups.com.
To unsubscribe from this group, send email to 
django-developers+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-developers?hl=en.


Reply via email to