Пользовательский виджет в поле выбора Django

Я передаю форму в шаблон. Мне нужно, чтобы из этого шаблона в другой шаблон была передана опция, которую выбрал пользователь. В данном случае один из вариантов оплаты. Я могу сделать это с помощью ChoiceField, select built-in widget=RadioSelect() и так далее. Но ChoiceField должен выглядеть следующим образом:

enter image description here

Когда вы выбираете опцию, она выделяется оранжевым квадратом.

То есть у меня вообще нет текста, а мне нужно передать его обработчику в views.py. Я использую Django 4.0. Как мне это сделать?

class CheckoutForm(forms.Form):
    payment_method = forms.ChoiceField(
        choices=CHOICES,
        widget=...
    )
.checkout__payment-methods {
    display: flex;
    gap: 20px;
    height: 80px;
    margin-top: 25px;
}

.checkout__payment-method {
    border-radius: var(--border-radius-primary);
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: filter .2s ease-in-out;
    cursor: pointer;
}

.checkout__payment-method:hover {
    filter: brightness(80%);
}

.checkout__payment-method--yookassa {
    background-color: #F5F5F5;
}

.checkout__payment-method--freekassa {
    background-color: #333342;
}

Я попробовал использовать mark_safe для вставки кода во второй элемент CHOICES, а затем в шаблоне с помощью цикла вывести payment_method, но это не сработало так, как я ожидал

Вернуться на верх