[hexlet.io] Веб-разработка на Python [Хекслет]

125

Для создания сайтов и web-сервисов на Python недостаточно знать сам язык. Помимо этого нужно понимать протокол HTTP, разбираться веб-серверах и многом другом.

Учим необходимому
Погрузитесь в создание web-сервисов, изучите Django — самый популярный веб-фреймворк Python. Научитесь работать с базами данных с помощью ORM, отслеживайте ошибки с помощью Rollbar. Пишите автоматизированные тесты для повышения качества кода и гарантии его работоспособности. Деплойте сайт на сервер.

1) Протокол HTTP

1 О курсе
Узнать о курсе, его структуре, задачах и целях.

2 HTTP 1.0
Познакомиться с основами HTTP, базовой структурой запроса и понятиями User-agent и DNS.

3 HTTP 1.1
Узнать чем HTTP 1.1 отличается от версии 1.0, познакомиться с понятием «keep alive».

4 Тело HTTP-запроса
Изучить структуру тела запросов и ответов.

5 Отправка форм
Рассмотреть каким образом отправляются данные из формы в HTTP-запросе.

6 Transfer-Encoding
Понять, как работает способ передачи данных «кусками» (chunks) в протоколе http.

7 Передача данных query string
Рассмотреть передачу данных на сервер в request line с помощью query string.

8 Перенаправления
Понять, как работают перенаправления при HTTP-запросах.

9 Базовая аутентификация
Изучить как работает базовая аутентификация и как браузер реагирует на код 401.

10 Cookies
Понять, каким образом с помощью cookies работают с ограничениями stateless-протокола HTTP.

11 Дополнительные материалы

2) Python: Django

1 Введение
Познакомиться с курсом и взглянуть на предмет обсуждения — фреймворк Django — с высоты птичьего полёта.

2 Почему Django
Узнать, чем же конкретно хорош Django и что заставляет множество разработчиков выбирать именно этот фреймворк.

3 Быстрый старт с Django
Создать простейшее Web-приложение на Django, научиться запускать в режиме разработки и в боевых условиях.

4 Приложения
Познакомиться главным средством организации кода в больших проектах — с приложениями.

5 Представления (Views)
Поглубже познакомиться с представлениями-функциями и узнать о представлениях-классах.

6 Маршрутизация
Узнать, как в Django принято описывать маршруты, получать из путей параметры, разделять маршруты между приложениями.

7 Шаблонизация
Узнать, как Django формирует HTML-страницы на основе шаблонов.

8 Модели
Познакомиться со подсистемой Django, используемой для представления информации в базах данных в удобном для использования виде, а именнно — с моделями.

9 Заключение

3) Python: Django ORM

1 О курсе
Узнать о курсе, его структуре, задачах и целях.

2 Настройка Django ORM
Завести подготовленный пакет с Django ORM у себя на локальном компьютере

3 Основные концепции
Познакомитсья с базовыми понятиями: модели, схема, запросы, CRUD.

4 Модель
Научиться создавать модели и использовать их.

5 Запрос данных из базы
Научиться создавать произвольные запросы к данным через специализированный язык запросов

6 Связи
Научиться строить связи «один ко многим» и «один к одному»

7 Многие ко Многим
Познакомиться с наиболее сложным видом связи между сущностями.

8 Аннотирование и агрегация
Научиться добавлять к получаемым из БД сущностям данные, вычисляемые силами СУБД. Научиться получать различную собирательную информацию о данных.

9 Транзакции
Познакомиться со средствами описания транзакций с помощью Django ORM.

4) Python: Веб-разработка (Flask)

1 Введение
Познакомиться с курсом и узнать о том, на что способен предмет курса — микрофреймворк Flask.

2 Быстрый старт с Flask
Узнать, как создать простейшее Flask-приложение, готовое к запуску и ответу на запросы.

3 Маршрутизация
Познакомиться с концепцией маршрутизации и узнать, как Flask подходит к обработке маршрутов.

4 Сложный роутинг и формирование URL
Узнать про расширенные возможности системы маршрутизации и научиться получать URL для требуемых маршрутов.

5 Шаблонизация HTML
Узнать, как Flask формирует HTML-страницы с помощью механизма шаблонизации.

6 Запросы
Научиться работе с данными запросов: глаголами, заголовками, параметрами.

7 Ответы сервера
Научиться возвращать разного вида данные в ответ на запросы.

8 Отладчик Werkzeug
Узнать о ключевых особенностях встроенного во Flask отладчика Werkzeug.

9 Запуск Flask в боевых условиях
Узнать, чем отличается запуск на сервере для разработки от запуска в боевых условиях. Научиться запускать Flask-приложения с помощью WSGI-сервера.

10 Дополнительные материалы
Помогают глубже и всесторонне рассмотреть тему курса в открытых статьях и видео подобранных командой Хекслета