url("^login_register/$", views.login_register, name="login_register"),url("^register/$", views.register, name="register"),def login_register(request, template="pages/login_register.html"):
'''
Display registration and login forms
'''
registration_form= RegisterForm()
return render(request, template, {"registration_form": registration_form})
def register(request):
'''
Process user registration
'''
if request.method=="POST":
form= RegisterForm(request.POST)
print form.is_valid()
if form.is_valid():
form.save()
email= form.cleaned_data.get("email")
raw_password= form.cleaned_data.get("password1")
user= authenticate(username=email, password=raw_password)
login(request, user)
return redirect(home_slug())
else:
return redirect(reverse("login_register")) <h2>Register</h2>
<form method="post" action="{% url 'register' %}">
{% csrf_token %}
{{ registration_form.as_p }}
<button type="submit">Register</button>
</form>`views.py` has this:def login_register(request, template="pages/login_register.html"):
'''
Display registration and login forms
'''
registration_form= RegisterForm()
return render(request, template, {"registration_form": registration_form})
def register(request):
'''
Process user registration
'''
if request.method=="POST":
form= RegisterForm(request.POST)
print form.is_valid()
if form.is_valid():
form.save()
email= form.cleaned_data.get("email")
raw_password= form.cleaned_data.get("password1")
user= authenticate(username=email, password=raw_password)
login(request, user)
return redirect(home_slug())
else:
return redirect(reverse("login_register"))
When I fill out registration with an email that already exists, I get this error: `ValueError: The view theme.views.register didn't return an HttpResponse object. It returned None instead.`. That's because when `form.is_valid()` is False, there is no return value. What do I need to return so that the message on the Registration form states the email already exists?