Простой в использовании 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 минуту:
скачать Джанго-рекапчи (
pip install django-recaptcha
)установить его на свой проект. То есть скопируйте папку " captcha "в свой проект, добавьте" captcha " в
INSTALLED_APPS
и добавитьRECAPTCHA_PUBLIC_KEY
иRECAPTCHA_PRIVATE_KEY
ключи к settings.py тоже (как описано в инструкции по установке)-
открыть
registration/forms.py
и добавьте это поле внутриclass RegistrationForm(forms.Form):
captcha = ReCaptchaField()
вам также придется импортировать:
from captcha.fields import ReCaptchaField
и это все. Меньше минуты.
для таких, как я, опаздывающих куда-нить, есть куча решений там сейчас, которые довольно легко установить:
- http://code.google.com/p/django-simple-captcha/
- http://code.google.com/p/django-captcha/
- https://github.com/inueni/django-captcha-field
- https://github.com/justquick/django-math-captcha
- https://github.com/marconi/django-mollom который использует сторонний сервис Mollom (который предоставляет капчу и фильтрацию спама заслуги.)
Я успешно настроил Django Mollom и Django Simple Captcha, и самой сложной частью было бритье яка вокруг установки PIL на моем Mac. Реализация кода была такой же простой, как и документы для каждого из них.