9

http://code.google.com/p/django-simple-captcha/にあるDjangoSimpleCaptchaを使用して、django登録フォームにキャプチャを追加したいと思い ます。

これは、新しいフォームを作成する場合にうまく機能しますが、私はdjango.contrib.auth.formsを使用してdjangoに付属しています。既存のdjango認証ビューでキャプチャを実装する方法はありますか?ありがとうございました!

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 に答える