Эта глава — пятая в нашем обзоре интернет-программирования на языке Python. В ней продолжается обсуждение, начатое в главе 15. Там мы исследовали основы создания серверных CGI-сценариев на языке Python. Вооружившись полученными знаниями, в этой главе мы перейдем к большому конкретному примеру, в котором делается акцент на более сложные темы CGI.
Эта глава представляет PyMailCGI — веб-приложение для чтения и отправки электронной почты, иллюстрирующее концепции системы безопасности, скрытые поля форм, генерацию адресов URL и многое другое. Поскольку эта система близка по духу программе PyMailGUI, представленной в главе 14, этот пример позволяет также сравнить веб-приложения с обычными. Этот пример основан на использовании сценариев CGI и реализует законченный веб-сайт, имеющий более высокую практическую ценность, чем примеры в главе 15.
Как обычно, в этой главе внимание фокусируется на деталях прикладного уровня, а также на принципах программирования на языке Python. Поскольку это полновесный практический пример, он демонстрирует концепции проектирования систем, важные для реальных проектов. Он также более полно представляет сценарии CGI в целом: PyMailCGI знакомит с понятиями сохранения информации о состоянии, а также с соображениями безопасности и шифрованием.
Система, представленная здесь, не отличается особенной броскостью или богатством функций, встречающимися на сайтах (по правде говоря, первоначальный набросок PyMailCGI был сделан во время задержки в аэропорту Чикаго). Увы, вы не найдете на сайте ни танцующих медвежат, ни мерцающих огней. С другой стороны, система была написана для практического использования, более широкого освещения сценариев CGI и чтобы показать, чего можно достичь с помощью программ Python, выполняемых на сервере. Как отмечалось в начале этой части книги, существует множество высокоуровневых фреймворков, систем и библиотек инструментов, построенных на идеях, которые мы применяем здесь. Поэтому посмотрим, что нам может предложить Python, примененный в Веб.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, II том, 2011