Рекомендуем

Сервер приложений  Грегер С.Э. Сервер приложений "Zope"
Основы веб-программирования: HTML 5, CSS 3, JavaScriptСапрыкин А.Н. Основы веб-программирования: HTML 5, CSS 3, JavaScript
Символьные математические вычисления средствами SymPy PythonШакин В.Н., Загвоздкина А.В., Мацкевич А.Г. Символьные математические вычисления средствами SymPy Python

Книга

Django и FastAPI: бэкенд и интеграция с клиентскими приложениями

Учебное пособие
332 стр.
Формат 60х90/16 (145x215 мм)
Исполнение: в мягкой обложке
ISBN 978-5-9912-1235-9
ББК 32.973.434
УДК 004.774.6(075.8)
Гриф
Рекомендовано Методическим советом Ордена Трудового Красного Знамени федерального государственного бюджетного образовательного учреждения высшего образования «Московский технический университет связи и информатики» (МТУСИ) для студентов высших учебных заведений в качестве учебного пособия
Аннотация

Разработка современных Web-приложений на базе алгоритмического языка Python предполагает применение специализированных встроенных фреймворков, таких как Django. Особенностью и преимуществом Django является наличие готовых решений для широкого класса задач.

Целью данного пособия является освоение технологии создания backend-части веб-приложений с использованием фреймворков Django и FastAPI, а также методов их интеграции с клиентскими приложениями на JavaScript, React.js и Flutter.

Для студентов вузов ИТ-направлений подготовки, слушателей программ повышения квалификации, а также практикующих специалистов-разработчиков, заинтересованных в освоении новых возможностей построения комплексных, готовых к работе систем.

Оглавление

Введение

1. Архитектурный паттерн Django — MTV

2. Запуск простейшего бэкенд-проекта в редакторе PyCharm
2.1. Установка Django
2.2. Первый Django-проект

3. Запуск простейшего бэкенд-проекта в редакторе VS Code

4. Отработка HTTP-запросов, шаблоны и основы работы с формами

5. Компонент model в Django: проектирование и работа с БД
5.1. Работа с базой данных sqlite (model) на примере регистрации пользователей на сайте
5.2. Подключение к базе данных ClickHouse

6. Аутентификация с использованием баз данных PostgreSQL и ClickHouse
6.1. Аутентификация с помощью PostgreSQL
6.1.1. Аутентификация с использованием собственных сессий и PostgreSQL
6.1.2. Аутентификация с помощью встроенных в Django сессий с PostgreSQL
6.2. Аутентификация с помощью собственных сессий с использованием ClickHouse
6.3. Аутентификация с помощью токенов
6.3.1. Аутентификация с помощью токенов без JWT
6.3.2. Аутентификация с помощью JWT-токенов.
6.4. Анонимный пользователь

7. Работа с формами и взаимодействие с ClickHouse (публикация новостей)

8. Расширенные возможности шаблонов — фильтры

9. Асинхронные запросы с помощью Ajax в Django
9.1. Асинхронные запросы с помощью Ajax в Django (данные сохраняем в ClickHouse)
9.2. Асинхронные запросы с помощью Ajax в Django (асинхронная выборка больших данных из Сlickhouse)

10. Современные подходы к проектированию API: от rest до websockets
10.1. Сравнение API-стилей: REST, GraphQL, WebSock, SOAP, gRPC
10.2. Uvicorn: назначение и особенности
10.3. Создание API-приложения на FastAPI со Swagger UI
10.4. Демонстрация API-стилей на примере мини-проекта "Многостилевой API-сервис управления книгами"

11. Интеграция fastapi-бэкенда с мобильным приложением на flutter
11.1. FastAPI против Django REST Framework (DRF)
11.2. Flutter в контексте современной кроссплатформенной мобильной разработки
11.3. Установка и запуск Flutter-приложения
11.4. Интеграция Flutter-приложений с FastAPI-бэкендом

12. Взаимодействие Django с JavaScript через REST API
12.1. Интеграция Django-бэкенда с JavaScript-фронтендом
12.2. Вводное руководство по React и Vue.js

13. Работа с Git /Github и деплой Django-проекта на Pythonanywhere
13.1. Настройка ВМ VirtualBox и подключение по SSH
13.2. Создание минимального Django-проекта и привязка к GitHub
13.3. Деплой на PythonAnywhere (бесплатный хостинг)

Литература