Введение в создание веб-приложений на Python
В создании веб-приложений часто требуется использование различных фреймворков. В данной статье речь пойдет именно о них.
С помощью фреймворков разработка больших надежных обслуживаемых веб-приложений становится намного проще. Также она уберегает разработчиков от повторного написания одного и того же кода снова и снова.
Общие характеристики:
- Маршрутизация URL-адресов
- Шаблоны вывода
- Управление базами данных
- Управление сеансом
- Безопасность от стандартных атак
С помощью фреймворка вы можете реализовать большинство этих функций.
Например, фреймворк Flask не поддерживает базы данных. Для их использования потребуется отдельный модуль. А вот фреймворк Django по умолчанию поддерживает базы данных.
Зачем использовать фреймворки при создании веб-приложений?
Зачастую у нас нет времени на решение тех проблем, которые были решены до нас. И тут на помощь приходят фреймворки. С другой стороны, если вы опытный веб-разработчик, фреймворк может предоставлять не весь спектр функций, который требуется.
Какие существуют фреймворки Python?
Django и Flask – самые популярные веб-фреймворки. Однако ознакомиться с другими фреймворками не помешает.
Вот некоторые из них:
- Bottle
- Pyramid
- Muffin
- CherryPy
- web2py
- Falcon
- Turbo2Gears
Django
Django является наиболее часто используемым фреймворком Python. У него довольно широкий функционал, поэтому вы можете сосредоточиться на разработке веб-приложений и не думать ни о чем другом. Сайты, созданные с помощью Django, имеют дело с высоким трафиком (50 тысяч просмотров в секунду и более).
Доступ к базе данных осуществляется через объектно-реляционное преобразование: вы определяете свои модели данных в Python, и Django начинает работать с реляционными системами управления базами данных (СУБД). Однако, если вам нужно, вы можете написать свои собственные SQL-запросы в Django. Также в этом фреймворке поддерживается маршрутизация URL-адресов.
Особенности:
-
- Объектно-реляционное преобразование
- Маршрутизация URL-адресов и их представления
- Механизм шаблонов
- Формы
- Идентификация
- Права администратора
- Интернационализация
- Безопасность
Если вы хотите узнать о Django побольше, прочтите это.
Знаете ли вы, что такие сайты, как NASA, BitBucket и Pinterest были написаны с помощью Django?
Flask
Flask является микрофреймворком Python, который имеет модульный дизайн. Данный фреймворк предназначен для создания веб-приложений. У Flask нет определенной системы базы данных или системы ORM. Если вы хотите использовать базу данных, то вам потребуется отдельный модуль. Flask часто комбинируют с SQLAlchemy для использования баз данных.
Flask очень прост и интуитивно понятен:
from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run()
Платформа поддерживает маршрутизацию URL-адресов, шаблоны (с Jinja2), управление сеансами и имеет некоторые фишки в области безопасности.
Особенности:
- Маршрутизация URL-адресов и их представления
- Механизм шаблонов
- Управление сеансами
Если вы хотите узнать о Flask побольше, прочтите это.
Знаете ли вы, что изначально Flask был придуман как первоапрельская шутка?