Как сделать так, чтобы у капчи был класс bootstrap?

У меня проблема с капчей, я использую ¨Django Simple Captcha¨ проблема в том, что он не позволяет мне разместить класс bootstrap, чтобы ввод имел лучший вид.

Я пытался:

  • Я поместил widget_tweaks в этот вход, но он не отправляет данные правильно и отмечает ошибки

html

<label class="form-label">Captcha</label>
{% render_field form.captcha class="form-control" %}
  • Из форм я поместил класс внутрь виджета, но он не работает
  • .

forms.py

class RegisterForm(UserCreationForm):
   captcha=CaptchaField(widget=forms.TextInput(attrs={'class': 'form-control'}))
  • Я взял идентификатор ввода и отредактировал его в style.css, но класс bootstrap также не отображается

style.css

#id_captcha_1{
   height: 34px;
   padding: 6px 12px;
   font-size: 14px;
   line-height: 1.42857143;
   color: #555;
   background-color: #fff;
   background-image: none;
   border: 1px solid #ccc;
   border-radius: 4px;
   }

Есть идеи для этого входа, чтобы иметь класс bootstrap?

Я не проверял это, но вы можете попробовать:

from captcha.fields import CaptchaField, CaptchaTextInput

class RegisterForm(UserCreationForm):
   captcha=CaptchaField(widget=CaptchaTextInput(attrs={'class': 'form-control'}))

Не уверен, что widget_tweaks хорошо работает с MultiValueFields, но вы также можете попробовать в своих шаблонах.

{% render_field form.captcha class+="form-control" %}

(Обратите внимание на +=, а не =)

Или, снова используя widget_tweaks

{{ form.captcha|add_class:"form-control" }}
Вернуться на верх