В HTML-формах существует такой элемент графического интерфейса, как флажок (или флаговая кнопка). Пользователь может переключать его состояния между «включено» и «выключено», тем самым определяя, добавлять или нет связанные с флажком данные в отправку на веб-сервер. В программе на Python, которой предстоит обрабатывать данные из формы, можно определить установку каждого из флажков, просто проверив, получено ли значение от флажка с определенным именем.

<!-- get.html -->
<!DOCTYPE HTML>
<html lang="ru">
<head> <meta charset="UTF-8">
<title>Пример с флажками</title> </head>
<body>
<form method="POST" action="cgi-bin/1.py">
Плавание <input type="checkbox" name="sail" value="Плавание">
<br>
Ходьба <input type="checkbox" name="walk" value="Хотьба">
<br>
Катание на лыжах <input type="checkbox" name="skee" value="Катание на лыжах">
<br>
<input type="submit" value="Отправить">
</form>
</body>
</html>

#!C:\Users\1\AppData\Local\Programs\Python\Python35-32\python.exe
#1.py
import cgi
data = cgi.FieldStorage()
list = '<ul>'
if data.getvalue('sail'):
    list += '<li>' + data.getvalue('sail')
if data.getvalue('walk'):
    list += '<li>' + data.getvalue('walk')
if data.getvalue('skee'):
    list += '<li>' + data.getvalue('skee')
list += '</ul>'      
print('Content-type:text/html\r\n\r\n')
print('<!DOCTYPE HTML>')
print('<html lang="ru">')
print('<head>')
print('<meta charset="UTF-8">')
print('<title>Результат работы Python-скрипта</title>')
print('</head>')
print('<body>')
print('<h1>', list, '</h1>')
print('<a href="/get.html">Вернуться</a>')
print('</body>')
print('</html>')​

 

Для того чтобы заранее пометить какой либо флажок, можно добавить в соответствующий элемент input еще один атрибут checked с установленным значением "checked".