Add recaptcha to login page

This commit is contained in:
Tom Price
2015-04-25 16:54:01 +01:00
parent 269f9af081
commit ed4a0e4478
3 changed files with 13 additions and 2 deletions

View File

@@ -3,6 +3,7 @@ from django import forms
from django.utils import formats
from django.conf import settings
from django.core import serializers
from django.contrib.auth.forms import AuthenticationForm
from registration.forms import RegistrationFormUniqueEmail
from captcha.fields import ReCaptchaField
import simplejson
@@ -25,6 +26,10 @@ class ProfileRegistrationFormUniqueEmail(RegistrationFormUniqueEmail):
raise forms.ValidationError("These initials are already in use. Please supply different initials.")
return self.cleaned_data['initials']
# Login form
class LoginForm(AuthenticationForm):
captcha = ReCaptchaField(label='Captcha')
# Events Shit
class EventForm(forms.ModelForm):
datetime_input_formats = formats.get_format_lazy("DATETIME_INPUT_FORMATS") + settings.DATETIME_INPUT_FORMATS

View File

@@ -30,7 +30,7 @@ def login(request, **kwargs):
else:
from django.contrib.auth.views import login
return login(request)
return login(request, authentication_form=forms.LoginForm)
"""

View File

@@ -1,7 +1,7 @@
{% load url from future %}
{% load widget_tweaks %}
{% include 'form_errors.html' %}
<div class="col-md-4 col-md-offset-4">
<div class="col-sm-6 col-sm-offset-3 col-lg-4 col-lg-offset-4">
<form action="{% url 'login' %}" method="post" role="form">{% csrf_token %}
<div class="form-group">
@@ -12,6 +12,12 @@
<label for="{{ form.password.id_for_label }}">{{ form.password.label }}</label>
{% render_field form.password class+="form-control" placeholder=form.password.label %}
</div>
<div class="form-group">
<label for="{{ form.captcha.id_for_label }}">{{ form.captcha.label }}</label>
<div class="text-center">
{{ form.captcha }}
</div>
</div>
<a href="{% url 'registration_register' %}" class="btn">Register</a>
<a href="{% url 'password_reset' %}" class="btn">Forgotten Password</a>
<input type="submit" value="Login" class="btn btn-primary"/>