Простой в использовании django captcha или регистрационное приложение с captcha?

Я хочу реализовать регистрацию пользователя с помощью captcha в Django. Рабочий процесс django-Регистрация приложение отличное, но у него нет капчи.

какую капчу вы бы порекомендовали использовать с ним? Есть ли другие варианты регистрации+captcha или полезные ссылки на тему?

Это должно работать с Django-1.1 и не слишком трудно установить.

3 ответов


django-регистрация довольно расширяемая. Один из способов его расширения-предоставить пользовательскую регистрационную форму. Я бы рекомендовал использовать reCaptcha, например, с помощью виджета и поля формы из здесь (архив). Тогда это так же просто, как написать пользовательский класс формы и бэкэнд регистрации (что проще, чем кажется):

from registration.backends.default import DefaultBackend
from registration.forms import RegistrationForm

class RecaptchaRegistrationForm(RegistrationForm)
    recaptcha = ReCaptchaField(label="I'm a human")

class RecaptchaRegistrationBackend(DefaultBackend):
    def get_form_class(self, request):
        return RecaptchaRegistrationForm

последний шаг-сказать django-registration использовать ваш бэкэнд. Этот шаг описан в docs (Я не смог найти HTML-версию документов, извините)


у меня только что была эта проблема, но решение очень простое.

я использую django-Регистрация, и я хочу поле reCAPTCHA для регистрации пользователя. Всего за 1 минуту:

  1. скачать Джанго-рекапчи (pip install django-recaptcha)

  2. установить его на свой проект. То есть скопируйте папку " captcha "в свой проект, добавьте" captcha " в INSTALLED_APPS и добавить RECAPTCHA_PUBLIC_KEY и RECAPTCHA_PRIVATE_KEY ключи к settings.py тоже (как описано в инструкции по установке)

  3. открыть registration/forms.py и добавьте это поле внутри class RegistrationForm(forms.Form):

    captcha = ReCaptchaField()

    вам также придется импортировать:

    from captcha.fields import ReCaptchaField

и это все. Меньше минуты.


для таких, как я, опаздывающих куда-нить, есть куча решений там сейчас, которые довольно легко установить:

Я успешно настроил Django Mollom и Django Simple Captcha, и самой сложной частью было бритье яка вокруг установки PIL на моем Mac. Реализация кода была такой же простой, как и документы для каждого из них.