Django (HTML) - Кликабельный ярлык в шаблоне (не работает)

Я работаю над проектом Django, где я хотел бы использовать некоторые настроенные формы флажков, когда появилась эта проблема. Оба куска кода абсолютно одинаковы, но используют разные формы. Проблема возникает, когда в первом примере метка кликабельна (поэтому я могу скрыть радиокнопку), а во втором не работает как ожидалось, пользователь должен нажать на радиокнопку, если я ее скрою, вся метка становится бесполезной.

РАБОТАЕТ ПРАВИЛЬНО:

<form action="" class="form-group" method="POST">
<div class="modal-body">

    <div class="row">
        <div class="col">
            <ul>
                {% csrf_token %}
                <fieldset >
                    
                    {% for radio in form_emp.producto %}
                    <li style="list-style-type:none">
                        <span class="radio">{{ radio.tag }}
                            <label class="label" for="{{ radio.id_for_label }}">   
                                {{ radio.choice_label }}
                            </label>
                        </span>
                    </li>
                    {% endfor %}
                </fieldset>
            </ul>
        </div>
        <div class="col">
            {{form_emp.cantidad.label}}
            {{form_emp.cantidad}}
            {{form_emp.observaciones.label}}
            {{form_emp.observaciones}}
        </div>
        
    </div>
</div>
<div class="modal-footer">
    <button class="btn btn-light" type="button" data-bs-dismiss="modal">Volver</button>
    <input type="submit" class="btn btn-primary" value="Agregar" />
</div>

НЕ РАБОТАЕТ ДОЛЖНЫМ ОБРАЗОМ:

<form action="" class="form-group" method="POST">
<div class="modal-body">

    <div class="row">
        <div class="col">
            <ul>
                {% csrf_token %}
                <fieldset > 
                    {% for radio in form_pizzas.producto %}
                    <li style="list-style-type:none">
                        <span class="radio">{{ radio.tag }}
                            <label class="label" for="{{ radio.id_for_label }}">   
                                {{ radio.choice_label }}
                            </label>
                        </span>
                    </li>
                    {% endfor %}
                </fieldset>
            </ul>
        </div>
        <div class="col">
            {{form_pizzas.cantidad.label}}
            {{form_pizzas.cantidad}}
            {{form_pizzas.observaciones.label}}
            {{form_pizzas.observaciones}}
        </div>
        
    </div>
</div>
<div class="modal-footer">
    <button class="btn btn-light" type="button" data-bs-dismiss="modal">Volver</button>
    <input type="submit" class="btn btn-primary" value="Agregar" />
</div>

CSS-файл

label{
    width: 100%;
    border: 3px solid #1881f9;
    position: relative;
    margin: 5% 5% 5% 5%;
    border-radius: 10px;
    background-color: rgb(178, 201, 243);
    transition: 5ms;}


input[type="radio"]:checked+label{
    background-color: orange;
    border: 6px solid #f95818;
    box-shadow: 5px 5px rgb(178, 201, 243);}

Надеюсь, вы, ребята, поможете мне разобраться, что там происходит! Заранее большое спасибо! Хорошей недели!

Проблема была в том, что я показывал несколько форм в одном представлении, по умолчанию tag-id формы - "id_columnname_n", поэтому несколько форм не позволяли правильно определить теги. id метки повторялся. Я решил эту проблему, введя собственные идентификаторы в файл forms.py и задавая вручную каждый тег-метку в шаблоне.

FORMS.py

class CartEmpanadasForm(ModelForm):
#LISTA DE PRODUCTOS, FILTRO POR CATEGORÍA
lista_prod=Producto.objects.filter(categoria=1)
#MOSTRAR LOS ELEMENTOS COMO UN CHOICEFIELD
producto=forms.ModelChoiceField(widget=forms.RadioSelect(attrs={'name': 'empanada','id':'empanada'}), queryset=lista_prod)

class Meta:
    model=Cart
    fields=["producto","cantidad","observaciones"]
        

VIEW.html

<fieldset >
{% for radio in form_emp.producto %}
<li style="list-style-type:none">
    <span class="radio">{{ radio.tag }}
        <label class="label" for="empanada_{{forloop.counter0}}">   
            {{ radio.choice_label }}
        </label>
    </span>
</li>
{% endfor %}
Вернуться на верх