Форма создания пользователя Django - добавление поля RecaptchaField
Я пытаюсь добавить поле captcha в Django UserCreationFrom и не могу решить эту проблему. Я не могу опубликовать все, что я пробовал, потому что я пытаюсь изменить этот вид около 2 часов. У меня на сайте есть форма регистрации, сделанная с помощью Django UserCreationFrom - все в порядке, но я решил добавить Recaptcha. У меня есть приложение под названием "accounts" и в этом приложении у меня есть вид, в котором есть следующее:
from django.contrib.auth.forms import UserCreationForm, get_user_model
from django.template.context_processors import request
from django.urls import reverse_lazy
from django.views import generic
from captcha.fields import ReCaptchaField
from captcha.widgets import ReCaptchaV2Checkbox
class SignUpForm(UserCreationForm):
class Meta:
model = get_user_model()
fields = ('first_name', "last_name",
"username", "email", "password1", "password2")
class Captcha(UserCreationForm):
captcha = ReCaptchaField(widget=ReCaptchaV2Checkbox)
class SignUpView(generic.CreateView):
form_class = SignUpForm
success_url = reverse_lazy("login")
template_name = 'accounts/signup.html'
Signup.html выглядит следующим образом:
{% extends 'main.html' %}
{% block title %} Přihlášení {% endblock %}
{% block content %}
<h2>Registrace</h2>
<div class="box">
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit"> Registrovat </button>
</form>
</div>
{% endblock %}
Я установил библиотеку django-recaptcha - добавил ее в настройках. Также в настройках у меня есть мой RECAPtCHA_PUBLIC и PRIVATE KEY и я зарегистрирован на сайте Google_recaptcha.
Мой URLS выглядит следующим образом:
from django.contrib import admin
from django.urls import path, include
import claim.views
import contact.views
from django.conf import settings
from django.conf.urls.static import static
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
urlpatterns = [
# accounts
path("accounts/", include("accounts.urls")),
path("accounts/", include("django.contrib.auth.urls")),
Как я уже сказал - форма регистрации работает, но здесь нет Captcha:
Но я не могу найти, как модифицировать UserCreationForm, чтобы добавить recaptcha. Я нашел много способов, как добавить Captcha в вашу собственную форму, но нет совета, как добавить в форму UserCreaiton. Я также прочитал следующее: Выполнить Django Simple Captcha с существующими django.contrib.auth.forms но это не работает для меня.
Я новичок в python, новичок в django и создаю свою первую работу в полном стеке. Я не хочу оправдываться. Я просто пытаюсь научиться.
Спасибо