Переглянути пости за тегами

Покрокова інструкція з інтеграції Google reCAPTCHA за допомогою django-recaptcha

  • 1 хв читання
  • 24 Лют, 2025

Вступ

Google reCAPTCHA – це потужний інструмент, який допомагає захистити ваш сайт від спаму та автоматизованих зловживань, перевіряючи, що користувач є людиною. Використовуючи пакет django-recaptcha, ви можете швидко інтегрувати цю функцію у свій проект Django.

Передумови

  • Працюючий проект Django
  • Встановлений Python
  • Базові знання про pip та віртуальні середовища

Крок 1: Встановлення

Встановіть пакет django-recaptcha за допомогою pip ( на момент написання статті актуальна версія 4.0.0):

pip install django-recaptcha

Додайте 'django_recaptcha' до списку INSTALLED_APPS у файлі settings.py:

INSTALLED_APPS = [
    # ... інші додатки,
    'django_recaptcha',
]

Крок 2: Отримання ключів Google reCAPTCHA

  1. Перейдіть до Google reCAPTCHA Admin Console та зареєструйте свій сайт.
  2. Оберіть тип reCAPTCHA (наприклад, reCAPTCHA v2 з прапорцем "Я не робот").
  3. Після реєстрації ви отримаєте Site Key та Secret Key.

Додайте отримані ключі до файлу settings.py:

# settings.py
RECAPTCHA_PUBLIC_KEY = 'your-site-key'
RECAPTCHA_PRIVATE_KEY = 'your-secret-key'

Крок 3: Інтеграція reCAPTCHA у Django форми

Імпортуйте поле reCAPTCHA та віджет, і додайте його до форми:

from django import forms
from captcha.fields import ReCaptchaField
from captcha.widgets import ReCaptchaV2Checkbox

class ContactForm(forms.Form):
    name = forms.CharField(max_length=100)
    email = forms.EmailField()
    message = forms.CharField(widget=forms.Textarea)
    captcha = ReCaptchaField(widget=ReCaptchaV2Checkbox())

Крок 4: Оновлення шаблону

Відобразіть форму у шаблоні та підключіть необхідний JavaScript:

<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <button type="submit">Надіслати</button>
</form>

Крок 5: Тестування та фінальні кроки

  1. Запустіть сервер розробки за допомогою: python manage.py runserver
  2. Перейдіть на сторінку з формою та перевірте, що віджет reCAPTCHA завантажується коректно.
  3. Відправте форму, щоб переконатися, що валідація працює належним чином.

Висновок

Дотримуючись цієї інструкції, ви успішно інтегрували Google reCAPTCHA у свій проект Django, що забезпечує додатковий рівень захисту від спаму та ботів. Насолоджуйтесь безпечним досвідом роботи з вашим веб-додатком!