Python Django Forms Forms Validate a Form in a View

Eduardo Ismael García Pérez
Eduardo Ismael García Pérez
4,273 Points

Dont work

i dont know why my sentences is incorrect : return HttpResponseRedirect(reverse('lead'))

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(request.POST or None)
    if reques.method == 'POST':
        if form.is_valid():
            return HttpResponseRedirect(reverse('lead'))
    return render(request, 'lead_form.html', {'form': form})

1 Answer

Cindy Lea
PRO
Cindy Lea
Pro Student 6,482 Points

The second part of your code had the problem:

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() # <-- add default form initialization if request.method == 'POST': form = forms.LeadShareForm(request.POST) if form.is_valid(): return HttpResponseRedirect(reverse("lead")) return render(request, 'lead_form.html', {'form': form})