Найти в Дзене
Kangaroo

Что такое веб-фреймворк на языке python?

У меня была большая мечта - создать свой собственный электронный калькулятор из дискретных компонентов. Я так и не сделал калькулятор, но я сделал несколько цифровых часов. Гвидо ван Россум
У меня была большая мечта - создать свой собственный электронный калькулятор из дискретных компонентов. Я так и не сделал калькулятор, но я сделал несколько цифровых часов. Гвидо ван Россум

Для ответа на вопрос: Что такое веб-фреймворк на языке python, имеет смысл рассмотреть структуру веб-приложения, написанного на языке Python без применения фреймворка.

Мы с вами рассмотрим один из самых простых способов, это Common Gateway Interface, который приобрел популярность примерно в 1998 году. Что же нам требуется сделать? - Создать сценарий на языке python, который будет возвращать HTML, сохранить его на сервере с расширением .cgi , зайдите на эту страницу. Вот и все!

Вот простой пример CGI-сценария на python ссылка.

Кроме того, совершенно необходимо поместить его в каталог cgi-bin и сделать выполняемым с помощью команды chmod +x <имя файла>.

Что мы сделали в примере, указанном выше:

Сначала чтобы удовлетворить требования CGI, сценарий выводит строку Content-Type, а за ней пустую строку. Далее выводится вводная часть HTML документа, устанавливается соединение с базой данных, и выполняется запрос, который выбирает из базы данных название десяти фильмов, изданных последними. Итерируясь, сценарий генерирует HTML-список из их названий. В заключении выводится оставшаяся часть HTML документа, после чего закрывается соединение с базой данных.

Однако при таком подходе у нас возникает целый ряд неудобств:

  • Было бы крайне не желательно дублировать код, выполняющий соединения с базой данных, в каждом CGI-сценарии;
  • Так ли уж нужно помнить о строке Content-Type и важности закрытия соединения с базой данных?;
  • Что будет, если будет меняться база данных и соединение к ней?;
  • Если верстальщик захочет что то поменять и т.д.

Именно такие задачи и призван решать веб-фреймворк. Он предоставляет готовый набор взаимосвязанных компонентов для разработки веб-приложений, помогая разработчику создавать быстро качественный продукт, и при этом не изобретать "велосипед".

Рекомендуем почитать
Документы, вакансии и контакты