Хелпикс

Главная

Контакты

Случайная статья





CGI пишем простой сайт на Python. Часть 2: Обработка форм, cookies



CGI пишем простой сайт на Python. Часть 2: Обработка форм, cookies

Практический Python 3 для начинающих

Теория и практика. Быстрая проверка задач и подсказки к ошибкам на русском языке. Работает в любом современном браузере.

НАЧАТЬ БЕСПЛАТНО LETPY.COM

В первой части мы написали Hello world. Сегодня мы рассмотрим несколько более сложные вещи: обработку данных форм и cookies.

Получение данных из форм

Итак, во-первых разберёмся с формами. В модуле CGI есть полезный класс: FieldStorage, который содержит в себе переданную в форме информацию. По сути дела этот класс представляет из себя словарь, обладающий теми же свойствами, что и обычный словарь в python.

У класса FieldStorage есть 2 метода получения значений данных формы:

FieldStorage.getfirst(name, default=None) - всегда возвращает только одно значение, связанное с именем поля формы. Метод возвращает только первое значение в том случае, если нехороший пользователь послал более одного значения. Обратите внимание, что порядок, в котором будут получены значения, могут отличаться от браузера к браузеру. Если нет такого поля формы или значение не существует, то метод возвращает default.

FieldStorage.getlist(name) - возвращает список значений, связанных с именем поля формы.

Разберём на примере: создадим в нашей папке файл index.html со следующим содержимым (это будет наша форма, данные из которой мы будем обрабатывать):

<!DOCTYPE HTML>

<html>

<head>

<meta charset="utf-8">

<title>Обработка данных форм</title>

</head>

<body>

<form action="/cgi-bin/form.py">

   <input type="text" name="TEXT_1">

   <input type="text" name="TEXT_2">

   <input type="submit">

</form>

</body>

</html>

А в папке cgi-bin/ - файл form.py (обработчик формы)

#!/usr/bin/env python3



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.