---
# System prepended metadata

title: План

---

# План

- Что будет в дипломном проекте
- REST API
- Django Rest Framework
- POSTMAN

# Перед тем, как начнем
 - Нет нерешаемых задач и проблем
 - Дробите задания
 - Хвалите себя
 - Слушайте видео и подкасты с экспертами 
 - Гуглите на английском

# Ваш дипломный проект

- Автоматизация закупок
- Создать django проект
- Проработать модели данных
- Создать API для покупателей и поставщиков
- ~1000 строк кода в итоге

# Почему не используем Django Forms
 - Серверный рендеринг для Python — это плохо
 - Отгружаем клиенту кучу ненужной информации почти при каждом запросе
 - Ограничиваем себя взаимодействием Сервер - веб-браузер
 
 # Что такое REST API?
 REST — свод правил определяющий архитектуру взаимодействия и принципы проектирования веб-сервисов.
![](https://mk0buildfireqbf86ll2.kinstacdn.com/wp-content/uploads/2018/01/visual-representation.png)

# Что на деле?
Для каждого типа операции используется свой метод HTTP-запроса:
* получение — GET
* добавление — POST
* модификация — PUT
* удаление — DELETE

Т.е. :

* GET-запрос /rest/users — получение информации о всех пользователях
* GET-запрос /rest/users/125 — получение информации о пользователе с id=125
* POST-запрос /rest/users — добавление нового пользователя
* PUT-запрос /rest/users/125 — изменение информации о пользователе с id=125
* DELETE-запрос /rest/users/125 — удаление пользователя с id=125

Информация сервером обычно отдается в виде JSON.


# Что такое Django Rest Framework

* Если знаете Django, большая часть задачи уже решена без трат времени
* Прост в освоении
* Мощный и систематизированный инструмент
* Универсален для решения большого спектра задач 

# Практика Django Rest Framework
 Рассмотрим пример

# Как будем работать с Frontend разработчиком
* Нужно протестировать самому
* Нужно задокументировать
* Создать общий workspace с Frontend разработчиком

**А можно все в одном месте?**


# POSTMAN

Рассмотрим пример

# Полезные ссылки
Документация по DRF
* https://github.com/ilyachch/django-rest-framework-rusdoc
* https://www.django-rest-framework.org/


YouTube каналы
* https://www.youtube.com/channel/UC-OVMPlMA3-YCIeg4z5z23A
* https://www.youtube.com/channel/UCgF8rcKszUOAnElu7zhwVMQ
* https://www.youtube.com/channel/UCr7bPKCES6rP1UbX0dTVv-Q
* https://www.youtube.com/user/videoitpeople/videos
* https://www.youtube.com/channel/UCqC1iSQnRIDz_rOy8LHe69g


Телеграм каналы
* https://t.me/pythonbooks
* https://t.me/python_textbooks
* https://t.me/forpython
* https://t.me/devbrain


Статьи
* https://habr.com/ru/search/?target_type=posts&q=%5Bpython%5D&order_by=date
* https://realpython.com/


