Несомненно. cgi
- это полезный модуль без магических возможностей; он ничего не делает, что вы не можете сделать сами, читая и обрабатывая переменные среды (в частности, QUERY_STRING
) и stdin
, который вступает в игру для POST
формы тела. (Но не забудьте прочитать переменную CONTENT_LENGTH
среды и только для чтения, что количество байт, а не с помощью readlines()
, иначе вы можете сделать свой скрипт повесить в ожидании дополнительного ввода, который никогда не придет.)
Действительно, есть полные альтернативы cgi
для обработки подачи формы, либо как автономные модули, либо как часть структуры.
cgi
модуль или нет, однако, сегодня я бы не стал писать CGI-based webapp. Намного лучше написать интерфейс WSGI и использовать wsgiref.handlers.CGIHandler
для развертывания этого приложения WSGI через CGI. Затем вы можете легко перейти на более эффективный интерфейс веб-сервера по мере необходимости. Вы можете использовать модуль cgi
внутри приложения WSGI, чтобы читать формы, если хотите, или, опять же, сделать свое дело.
К сожалению, hoohoo.ncsa, предыдущий стандартный дом спецификации CGI 1.1, связанный здесь, недавно спустился. Такая же информация в менее читаемом формате доступна в [RFC 3875] (http://www.ietf.org/rfc/rfc3875) – bobince