Bien sûr. cgi
est un module utilitaire sans pouvoirs magiques; il ne fait rien que vous ne pouvez pas faire vous-même en lisant et en traitant les variables d'environnement (en particulier QUERY_STRING
) et stdin
, qui entrent en jeu pour les corps de formulaire POST
. (Mais rappelez-vous de lire la variable d'environnement CONTENT_LENGTH
et lire seulement que le nombre d'octets, plutôt que d'utiliser readlines()
, sinon vous pouvez faire votre script se bloquer en attente pour plus d'entrée qui ne viendra jamais.)
En effet, il existe des alternatives complètes à cgi
pour le traitement de la soumission de formulaire, que ce soit en tant que modules autonomes ou dans le cadre d'un cadre.
cgi
module ou non, cependant, je ne voudrais pas écrire une application web basée exclusivement sur CGI aujourd'hui. Il vaut mieux écrire sur l'interface WSGI et utiliser wsgiref.handlers.CGIHandler
pour déployer cette application WSGI sur CGI. Ensuite, vous pouvez facilement migrer vers une interface de serveur Web plus efficace au fur et à mesure de vos besoins. Vous pouvez utiliser le module cgi
à l'intérieur d'une application WSGI pour lire les soumissions de formulaires si vous le souhaitez, ou, encore une fois, faire votre propre chose.
Malheureusement, hoohoo.ncsa, la maison standard précédente de la spécification CGI 1.1 liée ici, a récemment baissé. La même information dans un format moins lisible est disponible dans [RFC 3875] (http://www.ietf.org/rfc/rfc3875) – bobince