On Wed, Mar 26, 2008 at 5:15 PM, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:

>
> I'm using an avatar imagefiled in the model and have defined an
> imagefield in the registration form I'm using for the user to sign up.
> avatar is not a required field (both in the form as well as in the
> model)
>
>
> I've got validation included in the Registration Form for the uploaded
> image size:
>
> def clean_avatar(self):
>
>        size = len(self.cleaned_data['avatar'].content)
>        if size > 500 * 1024:
>            raise forms.ValidationError('Size exceeded allowable
> limit')
>
>        return self.cleaned_data['avatar']
>
>
> All works well if the user does upload an image. If no image is
> uploaded, I get a
> "NoneType' object has no attribute 'content' " exception.
>
> Which I understand why -- because no file has been uploaded and so
> there is no content attribute present.
>
> however, I'm not sure how I can first check if a file has been
> uploaded by user or not..and then have the above clean method be
> invoked only when a file has been uploaded...if not, skip validating
> the input.
>
> any ideas ?
>

I don't believe you can bypass your clean method in the case where no file
was uploaded.  Rather you should change your clean_avatar function to handle
the case of no file being uploaded.  That is, only do the size check if
self.cleaned_data['avatar'] is not None.

Karen

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to