the double  <code>if not email:</code> threw me off. maybe just <code>email = email or self.cleaned_data.get('email')</code>?