This tutorial covers the WSGI specification and two web programming models that can be used with Python: the CGI standard and mod_python.

As a general rule if you are in a shared host environment then your only option will be to run python scripts as CGI while some hosting providers will offer mod_python or WSGI.

CGI is ideal to learn the basic web programming concepts as there is no magic running to hide those from the programmer. Part of the framework communities take it as obsolete but read those comments with caution as some are just snobbish. If you have no web programming experience and/or want to grow solid roots then CGI is the way to go.

Mod_python's performance and flexibility is much superior to CGI and its Publisher and PSP handlers are quite easy to learn. Mod_python is now unmaintained and is very slowly going into disuse. This is hardly a "don't use it" warning as mod_python covers a not small empty niche, especially in the case of the Publisher handler, and there are plenty of happy users.

From a few years back the WSGI application<->server interface specification is gaining momentum and is today an acclamation. To use it is necessary to master web programming concepts and/or a framework/toolkit.

The three sections are independent from each other. To follow this tutorial it is required that you have a basic Python programming knowledge. If you need to learn how to program visit the Python Tutorial first.

Please post any doubt, suggestion or critique at the Web Python Board and help making this a better tutorial.