Динамические формы django

class SIPForm(forms.Form):
    ip_camera = forms.GenericIPAddressField(label="IP адрес камеры:")
    SIP_login = forms.CharField(label="Логин от учетной записи sip:")
    SIP_Password = forms.CharField(widget=forms.PasswordInput(), label="Пароль от учетной записи sip:")
    PC_IP = forms.GenericIPAddressField(label="IP адрес домофона:")
    DIAL_ADDR = forms.CharField(label="Адрес вызываемого пользователя:")
    auto = forms.BooleanField(label="Автоматические настройки")

Есть форма. Как сделать, чтобы после галочки в BooleanField остальные поля были неактивны. Гуглить пробовал, не пойму как это искать даже.

По сути: как изменить уже отрендеренную страницу, и как получить текущее состояние BooleanField


Ответы (1 шт):

Автор решения: AgentDaun

Django не предоставляет возможности реактивного изменения на странице. Для того, что бы реализовать это, почитайте про Javascript. Для вашей задачи понадобится не больше часа, для понимания, как это сделать. Если просто набросить, как это будет примерно выглядеть:

let formInput = document.querySelectorAll(".formInput");
formInput.forEach(e => {
    e.setAttribute("disabled", "");
});
→ Ссылка