Как я могу передать в форму True, если выбрано одно поле, и False, если другое

У меня есть поле select в моем html

<select class="form-select" name="is_recurrent" id="payment">
    <option value="False" class="option" selected>One-time fee</option>
    <option value="True" class="option">Subscription</option>
</select>

У меня есть модель Donate в models.py

class Donate(BaseModel):
    is_recurrent = models.BooleanField(default=False)
    ...

У меня есть форма в файле forms.py

class DonateForm(forms.Form):
    is_recurrent = fields.BooleanField(???)
    ...

Как передать в форму True, если выбрана подписка, и false, если выбрана разовая плата

Если вы используете Django-forms, то сделать это очень просто, вам даже не нужно создавать форму! Из вашего HTML кода я вижу, что вы пытаетесь сделать это, создавая HTML форму, я рекомендую вам пройтись по информационной странице Django-forms (https://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Forms), поскольку вам не нужно создавать все поля ввода, Django Forms позаботится об этом за вас, вам просто нужно передать переменные, которые вы хотите редактировать с помощью формы.

Когда вы инстанцируете форму в представлении, вы передаете данные POST:

form = DonateForm(data=request.POST)

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

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