Django Forms + поле checkbox + MySQL. Некоторые неочевидные вопросы.

12.03.2018
By

Для того, чтобы разместить поле checkbox в форме на сайте под управлением Django необходимо помнить о нескольких моментах (пришлось разбираться с ними пару часов первый раз).

1. Поле checkbox соответствует  forms.BooleanField(required=False). При этом обязательно указать required=False.(forms.py)

2. Для того, чтобы поле передало True после установки «галки» и False в обратном случае необходимо сделать следующую конструкцию в файле шаблона .html для выводимой связанной формы

<form method = POST>
...
    {% if not Cfg_obj.send_mode %}
    <input type = 'checkbox' name = 'send_mode' value="True"><br/>
    {% endif %}
    {% if Cfg_obj.send_mode %}
    <input type = 'checkbox' name = 'send_mode' value="True" checked="CHECKED"><br/>
    {% endif %}
...
</form>

Здесь форма заполняется предыдущими данными из базы данных перед ее открытием в браузере.

3. Полю send_mode = models.BooleanField() модели данных (models.py) соответствует тип TINYINT MySQL – обратите внимание на заполнение данного поля по умолчанию.

 

Добавить комментарий