Python Django Forms Forms Validate a Form in a View

cs16
cs16
24,624 Points

Code wont pass, but it seems fine... at least to me. Any ideas?

Any idea why this wont pass ze challenge?

myproject/views.py
from django.core.mail import send_mail
from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect
from django.shortcuts import render

from . import forms


def send_lead(email, url):
    send_mail(
        'Lead from {}'.format(email),
        '{} submitted {}'.format(email, url),
        email,
        ['kenneth@teamtreehouse.com']
    )

def lead_form(request):
    form = forms.LeadShareForm()
    if request.method == "POST":
        form =forms.LeadShareForm(request.POST)
        if form.is_valid():
            send_lead(form.cleaned.data["email"], form.cleaned.data["link"])
            return HttpResponseRedirect(reverse("lead"))
    return render(request, 'lead_form.html', {'form': form})
Oziel Perez
Oziel Perez
61,319 Points

its cleaned_data, not cleaned.data. But either way, I just tried it this way and the code challenge won't pass. I don't understand why the python challenges never pass even when they're right!

1 Answer

Oziel Perez
Oziel Perez
61,319 Points

Ok i figured it out, see my comment above. First make sure to fix the typos and then if you still get the same error, put both the send_email and the return statement on the same line (separated by a semicolon). This python parser they are using is absolutely dumb. I have had five challenges I could not pass because of some formatting error.

cs16
cs16
24,624 Points

Thanks Oziel!