Почему я не могу нажать на мои InlineRadios с помощью CrispyForms?
По какой-то причине я не могу нажать на кнопки InlineRadio, которые я создаю с помощью своих crispy-форм. Когда я нажимаю на них, ничего не происходит. У меня нет никаких сообщений об ошибках в консоли в браузере. Может ли кто-нибудь помочь мне выяснить, что является причиной этого?
Forms.py
class NewsEmailForm(forms.ModelForm):
class Meta:
model = NewsEmail
fields = ('province', 'municipality', 'areas', 'interval', 'ad_type')
help_texts = {
'areas': 'Håll in cmd (mac) eller ctrl (windows) för att markera flera',
'interval': 'Hur ofta du vill få ett mail med nya annonser i valt område.',
}
def __init__(self, *args, **kwargs):
super(NewsEmailForm, self).__init__(*args, **kwargs)
self.fields['province'].required = True
self.fields['municipality'].required = True
self.fields["interval"].choices = list(self.fields["interval"].choices)[1:]
self.fields["ad_type"].choices = list(self.fields["ad_type"].choices)[1:]
self.helper = FormHelper()
self.helper.layout = Layout(
Row(
Column('province', css_class='form-group col-2 mb-0'),
Column('municipality', css_class='form-group col-2 mb-0 ml-4'),
Column('areas', css_class='form-group col-3 mb-0 ml-4'),
Column(
InlineRadios('interval'),
css_class='form-group col-1 mb-0 ml-4'
),
Column(
InlineRadios('ad_type'),
css_class='form-group col-1 mb-0 ml-4'
),
Column(
FormActions(
Submit('submit', 'Spara bevakning', css_class='btn btn-sm btn-primary'),
),
css_class='form-group col-1 mt-4 mb-0 ml-4'
),
),
)
Models.py
class NewsEmail(models.Model):
INTERVAL_CHOICES = (
(1, "Veckovis"),
(2, "Dagligen"),
)
AD_TYPES_CHOICES = (
(1, "Hund erbjudes"),
(2, "Hund sökes"),
)
user = ForeignKey(User, on_delete=models.CASCADE, null=True, blank=True)
province = ForeignKey(Province, on_delete=models.CASCADE, verbose_name='Landskap', null=True, blank=True)
municipality = ForeignKey(Municipality, on_delete=models.CASCADE, verbose_name='Kommun', null=True, blank=True)
areas = ManyToManyField(Area, verbose_name='Område', blank=True)
interval = IntegerField(choices=INTERVAL_CHOICES, null=True, blank=True, verbose_name='Intervall')
ad_type = IntegerField(choices=AD_TYPES_CHOICES, null=True, blank=True, verbose_name='Annonstyp')
Template.html
{% extends '_base.html' %}
{% load crispy_forms_tags %}
{% load static %}
<form method="post" enctype="multipart/form-data" id="adForm" data-municipalities-url="{% url 'ajax_load_municipalities' %}" data-areas-url="{% url 'ajax_load_areas' %}" novalidate>
{% csrf_token %}
{% crispy form %}
</form>
Изображение инспектора в браузере
По какой-то причине это, похоже, вызвано следующим параметром в моем settings.py, если я удалю его, все работает как ожидалось, однако я хочу использовать пакет bootstrap4 temlpate, поэтому я опубликовал проблему в Github repo:
CRISPY_TEMPLATE_PACK = 'bootstrap4'
https://github.com/django-crispy-forms/django-crispy-forms/issues/1202
Проблема может быть устранена путем понижения до версии 1.11.0