Функция отправки (ссылка Send…) на корневой странице проводит пользователей через две страницы: одну для редактирования сообщения и другую для подтверждения отправки. Щелчок на ссылке Send… на главной странице, которую можно заметить на рис. 16.2, заставляет веб-сервер выполнить сценарий CGI, представленный в примере 16.3.
Пример 16.3. PP4E\Internet\Web\PyMailCgi\cgi-bin\onRootSendLink.py
#!/usr/bin/python
############################################################################ Вызывается щелчком на ссылке ‘send‘ в главной странице: отображает страницу составления нового сообщения
############################################################################
import commonhtml
from externs import mailconfig
commonhtml.editpage(kind=’Write’, headers={‘From’: mailconfig.myaddress})
Нет, этот файл не был урезан. Смотреть в этом сценарии особенно не на что, поскольку все действия инкапсулированы в модулях commonhtml и externs. Здесь можно лишь сказать, что для создания ответа этот сценарий вызывает некоторую функцию с именем editpage, передавая ей нечто с именем myaddress для заголовка «From».
Рис. 16.3. Страница PyMailCGI отправки (составления) сообщения
В значительной степени страница составления нового сообщения понятна без лишних пояснений — вам нужно лишь заполнить поля заголовков и основного текста сообщения (содержимое заголовка «From» и текст подписи берутся из настроек в модуле mailconfig, который обсуждается ниже). Щелчок на любой из кнопок Choose File (Выбрать файл) открывает диалог выбора файла, который будет отправлен в виде вложения. Интерфейс этой страницы выглядит совершенно отличным от интерфейса клиентской программы PyMailGUI из главы 14, но по своей функциональности они очень похожи. Обратите также внимание на верхнюю и нижнюю части страницы — по причинам, описанным в следующем разделе, эти области будут выглядеть одинаково на всех страницах нашей системы.
Использованная литература:
Марк Лутц — Программирование на Python, 4-е издание, II том, 2011