2011-01-31 15 views
9

Vorrei aggiungere captcha sul mio modulo di registrazione Django Django utilizzando semplice Captcha trovato qui: http://code.google.com/p/django-simple-captcha/Implementare Django Captcha semplicemente con le django.contrib.auth.forms esistenti

Questa grande opera, se si crea un nuovo forma ma sto usando il django.contrib.auth.forms quello che viene fornito con django. Qualche idea su come potrei essere in grado di implementare captcha con le viste auth di django esistenti? Grazie!

risposta

6

Si potrebbe semplicemente sottoclasse le forme django.contrib.auth.forms e aggiungere un CaptchaField, come questo:

from django.contrib.auth.forms import UserCreationForm 
from captcha.fields import CaptchaField 

class CaptchaUserCreationForm(UserCreationForm): 
    captcha = CaptchaField() 

e utilizzare il nuovo modulo nella vista come al solito:

if request.POST: 
    form = CaptchaUserCreationForm(request.POST) 
    if form.is_valid(): 
     return HttpResponseRedirect('/?ok') 
else: 
    form = CaptchaUserCreationForm() 
Problemi correlati