Конечно. cgi
- служебный модуль без магических способностей; он ничего не делает самостоятельно, читая и обрабатывая переменные окружения (в частности, QUERY_STRING
) и stdin
, которые вступают в игру для POST
тел форм. (Но не забудьте прочитать переменную окружения CONTENT_LENGTH
и прочитать только столько байтов, чем использовать readlines()
, иначе вы можете заставить свой скрипт зависать в ожидании большего ввода, который никогда не поступит.)
Действительно, есть cgi
полные альтернативы для обработки отправки формы, как в виде отдельных модулей, так и в составе каркаса.
cgi
модуля или нет, однако я бы не писал сегодня чисто веб-приложение на основе CGI. Намного лучше писать в интерфейс WSGI и использовать wsgiref.handlers.CGIHandler
для развертывания этого приложения WSGI поверх CGI. Тогда вы сможете легко перейти на более эффективный интерфейс веб-сервера, когда и вам это нужно. Вы можете использовать модуль cgi
внутри приложения WSGI для чтения отправленных форм, если хотите, или, опять же, делать свое дело.