В одном из проектов потребовалась простая каптча. Сложные пользователей зачастую пугают и нервируют.
Поэтому остановился на django-simple-captcha.
В проекте у меня за регистрацию отвечает django-registration поэтому прикручивать будем к ней.
1. Качаем django-simple-captcha от автора с
2. Копируем из архива папку captcha в корень нашего проекта.
3. Добавляем в settings.py:
INSTALLED_APPS = (
...
'captcha',
...
)
4. Добавляем в urls.py:
urlpatterns = patterns('',
...
url(r'^captcha/', include('captcha.urls')),
...
)
5. Идем в приложение registration где в forms.py
добавляем импорт:
from captcha.fields import CaptchaField
а также в класс RegistrationForm последним полем формы добавляем:
captcha = CaptchaField(label=_("Code in the image"))
6. Добавим локализацию для данного поля. Для этого идем в registration/locale/ru/LC_MESSAGES и в файл django.po добавляем:
#: forms.py: (Номер строки в файле)
msgid "Code in the image"
msgstr "Код на картинке"
После этого в командрой строке переходим в корень приложения registration и выполняем:
$ django-admin.py compilemessages --locale=ru
7. Перегружаем сервер:
$ sudo /etc/init.d/apache2 reload
$ sudo /etc/init.d/apache2 restart
Вуаля! Капча добавлена. Можно заходить на страницу регистрации и начинать ее использовать. Просто и сердито.
P.S. Если Ваш проект многоязычный то 6 шаг стоит повторить для всех локализаций.
Комментарии