воскресенье, 3 июля 2011 г.

Капча в django-приложении за пару-минут

Для того , чтобы максимально быстро "прикрутить" к своему django-приложению защиту от ботов в виде капчи, проще всего воспользоваться компонентом django-simple-captcha.

Инсталляция

sudo easy_install django_simple_captcha
либо
python setup.py install после скачивания нужного архива из списка доступных

Добавление поля к классу формы


...
from captcha.fields import CaptchaField
...
class FormWithCaptcha(forms.Form):
captcha = CaptchaField(label=_("Captcha:"))


settings.py

Необходимо добавить приложение captcha в список используемых в проекте. Для этого в файле settings.py проекта необходимо добавить соответствующую запись в INSTALLED_APPS:

INSTALLED_APPS = (
...
'captcha',
...
)

urls.py

У приложения djngo-simple-captcha есть свои url-ы, которые необходимо добавить в вашу общую схему url-ов в файле urls.py проекта:

...
urlpatterns += patterns('',
url(r'^captcha/', include('captcha.urls')),
)
...


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

Комментариев нет:

Отправить комментарий

Если Вы нашли ошибку у автора, у Вас есть вопрос или просто хотите поделиться чем-то полезным, то пишите - не стесняйтесь..