Как отобразить радиокнопку со значением defalt в форме django

Моя форма позволяет пользователю выбрать одну из двух ролей. Мне трудно понять, почему я не могу отобразить это в шаблоне.

Значение роли модели по умолчанию и начальные значения роли формы установлены на 'regular_user'. Модели перемещаются, и значения om отображаются как нужно, но без значения по умолчанию.

Любая информация о том, что я делаю неправильно, будет высоко оценена.

models.py:

ROLES = (('regular_user', 'Regular_user'), ('collaborator', 'Collaborator'))

class CustomUser(AbstractUser):
    display_name = models.CharField(verbose_name=("Display name"), max_length=30, help_text=("Will be shown e.g. when commenting"))
    ...
    role = models.CharField(choices = ROLES, max_length = 50, default = 'regular_user', help_text =("Click below Collaborator, if you wish to join us"))
    ...

    class Meta:
        ordering = ['last_name']

    def get_absolute_url(self):
        return reverse('account_profile')

    def __str__(self):
        return f"{self.username}: {self.first_name} {self.last_name}"
        

Forms.py:

class SignupForm(forms.Form):
    first_name = forms.CharField(max_length=30, label=_("First name"))
   ...
    role = forms.ChoiceField(choices=ROLES, widget=forms.RadioSelect(), label="Role", required=True, help_text=_("Click below 'Collaborator', if you wish to join us"))
    ...

    def signup(self, request, user, **kwargs):
        ...
        user.role = self.cleaned_data['role']
        ...
        user.save()

Если я отображаю его со всеми другими полями формы, например:

{% with "form-control input-field-"|add:field.name as field_class %}
{% render_field field class=field_class %}{% endwith %}

Выводятся без виджета радио, который нельзя проверить.

Когда я отображаю поле роли отдельно, оно правильно отображает значения, но без значения по умолчанию.

{% with field=form.role %}

<small>{{ field.label_tag }}</small>
<div class="form-row">
         <div class="form-group col-md-6">
{% if form.is_bound %}
    {% if field.errors or form.non_field_errors %}
        {% render_field field class="form-control is-invalid" %}
        <div class="invalid-feedback">
            {{ form.non_field_errors }}
            {{ field.errors }}
        </div>
    {% else %}
        {% render_field field class="form-control is-valid" %}
    {% endif %}
{% else %}
<div class="field">
 <div class="form-control">


{{ field }}
     </div>

 </div>
</div>

{% endif %}
</div>
</div>
{% endwith %}

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