使用现有的django.contrib.auth.forms实现Django Simple Captcha

ava*_*tar 9 django django-forms django-views django-authentication

我想使用Django Simple Captcha在我的django注册表单上添加验证码 :http://code.google.com/p/django-simple-captcha/

如果您创建一个新表单但是我正在使用django附带的django.contrib.auth.forms,那么这很有用.知道如何使用现有的django auth视图实现验证码吗?谢谢!

Mar*_*rco 6

您可以简单地继承django.contrib.auth.forms表单并添加CaptchaField,如下所示:

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

class CaptchaUserCreationForm(UserCreationForm):
    captcha = CaptchaField()
Run Code Online (Sandbox Code Playgroud)

并像往常一样在视图中使用新表单:

if request.POST:
    form = CaptchaUserCreationForm(request.POST)
    if form.is_valid():
        return HttpResponseRedirect('/?ok')
else:
    form = CaptchaUserCreationForm()
Run Code Online (Sandbox Code Playgroud)