ReCaptcha to popularny system captcha do zabezpieczania formularzy przed aktywnością botów. Oferuje on API pozwalające na wykorzystywanie widżetów ReCaptcha na stronach www. W przypadku Pythona wykorzystamy recaptcha-client, który to wykorzystywany jest przez specjalny typ pola formularzy Django w tym fragmencie kodu. W artykule zaprezentuję gotowy przykład formularza oparty o tą bibliotekę i snippet.
- Na początek wygeneruj darmowy zestaw kluczy dla domeny, w której chcesz używać widżetu
- Mając klucz wstawiamy je do settings.py projektu Django:
- Instalujemy recaptcha-client np. poprzez easy_install
- Teraz musimy dodać definicję pola i widżetu dla formularzy Django. Można zrobić to tak - tworzymy w projekcie Django katalog "recaptchawidget" a w nim pliki fields.py, widgets.py, oraz __init__.py.
Teraz możemy już wykorzystać ReCaptcha w formularzach. Oto przykładowa definicja formularza: Oraz widok obsługujący formularz: Oraz szablon: Gotowe. Mamy formularz z widżetem ReCaptcha, który jest walidowany wraz z całym formularzem.

