9

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

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

4

1 回答 1

7

您可以简单地将 django.contrib.auth.forms 表单子类化并添加一个 CaptchaField,如下所示:

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

class CaptchaUserCreationForm(UserCreationForm):
    captcha = CaptchaField()

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

if request.POST:
    form = CaptchaUserCreationForm(request.POST)
    if form.is_valid():
        return HttpResponseRedirect('/?ok')
else:
    form = CaptchaUserCreationForm()
于 2011-02-02T09:07:01.623 回答