Django REST Framework создание API: Урок: 1, установка, общая информация
avatar
7 | (offline)
❤️‍🔥Notehunter Developer
Добавлено:
Категория: Руководства «Django»
Комментариев: 0

В уроке 1 по созданию API на Django REST Framework, мы рассмотрим установку DRF, а также узнаем, зачем необходим REST интерфейс и что он из себя представляет.

Что такое REST?

REST - сокращение с английского языка - Representational State Transfer — передача состояния представления.

Это архитектурный стиль взаимодействия компонентов распределенной системы в компьютерной сети. 

Если говорить простыми словами, REST определяет способ взаимодействия (обмена данными) между разными компонентами системы, которые могут находиться в разных местах.

Преимущества REST:

  • Производительность.
  • Масштабируемость.
  • Единый интерфейс.
  • Портативность компонентов.
  • Лёгкость внесения изменений.

Что такое DRF?

Django REST Framework - популярный инструмент устанавливаемый в Django, который позволяет создавать RESTful WEB API интерфейс. 

Проще говоря, Вы создаете единый интерфейс взаимодействия сервера с различными клиентскими устройствами, программами на любой OC.

Выходные данные в формате JSON - JavaScript Object Notation, легко читаемый формат людьми.

Преимущества DRF:

  • Создание, чтение, изменение и удаление данных (сокр. CRUD запросы)
  • Проверка корректности передачи данных, а также защита от хакерских атак и SQL инъекций.
  • Авторизация и регистрация пользователей.
  • Настраиваемые права доступа через API интерфейс.
  • Производительность.

Пример взаимодействия Django и React.js посредством DRF:

Разворачивание проекта Django и Django REST Framework:

Я использую PyCharm на Windows 11. Вы можете использовать любой другое IDE

Как установить Django и открыть через PyCharm я показывал в прошлом курсе, в уроке 1: Создание сайта на Django: Урок 1, разворачивание Django приложения

После всех действий и разворачивания Django проекта через PyCharm, введите команду pip install djangorestframework, а затем после установки ещё одну: pip install django-cors-headers

Для пользователей VS CODE: В этом уроке я покажу как развернуть Django проект вместе с Django REST Framework с помощью VS CODE.

Создание виртуального окружения:

Для начала, в месте где мы хотим создать проект, создаем папку App, заходим в нее и открываем созданную папку в терминале, вводим следующую команду: py -m venv venv

После создания виртуального окружения, я создаю рядом с папкой venv папку backend, где будет храниться наш Django проект.

Выглядит это следующим образом:

Открываем папку App с помощью VS CODE, и создаем терминал для активации виртуального окружения.

В терминале прописываем следующие команды: 

  • Для активации cmd: cmd
  • Далее для активации виртуального окружения из папки App и для перехода в нее после активации: cd ./venv/Scripts/ && activate && cd ../../

Виртуальное окружение мы активировали. Отлично.

Теперь я создам файл requirements.txt, куда запишу зависимости:

/app/requirements.txt

django==4.1.3
djangorestframework
django-cors-headers

Далее я ввожу в терминале следующую команду: pip install -r requirements.txt

Результат установки:

>>> (venv) C:\Users\Razilator\Desktop\Projects\App>pip install -r requirements.txt
Collecting django==4.1.3
  Using cached Django-4.1.3-py3-none-any.whl (8.1 MB)
Collecting djangorestframework
  Using cached djangorestframework-3.14.0-py3-none-any.whl (1.1 MB)
Collecting django-cors-headers
  Using cached django_cors_headers-3.13.0-py3-none-any.whl (13 kB)
Collecting asgiref<4,>=3.5.2
  Using cached asgiref-3.5.2-py3-none-any.whl (22 kB)
Collecting tzdata
  Using cached tzdata-2022.6-py2.py3-none-any.whl (338 kB)
Collecting sqlparse>=0.2.2
  Using cached sqlparse-0.4.3-py3-none-any.whl (42 kB)
Collecting pytz
  Using cached pytz-2022.6-py2.py3-none-any.whl (498 kB)
Installing collected packages: pytz, tzdata, sqlparse, asgiref, django, djangorestframework, django-cors-headers
Successfully installed asgiref-3.5.2 django-4.1.3 django-cors-headers-3.13.0 djangorestframework-3.14.0 pytz-2022.6 sqlparse-0.4.3 tzdata-2022.6

[notice] A new release of pip available: 22.2.2 -> 22.3.1
[notice] To update, run: python.exe -m pip install --upgrade pip

Отлично, все, что мы указали в файле зависимостей установилось. 

Теперь нам необходимо перейти в папку backend в терминале пишем: cd backend

И далее для создания Django проекта пишем следующую команду: django-admin startproject engine .

Результат создания:

Хорошо, Django мы установили, теперь в файл settings.py мы добавим установленный пакет djangorestframework:

/engine/settings.py

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'rest_framework'
]

И после попробуем запустить Django, в терминале вводим: py manage.py runserver

Результат:

(venv) PS C:\Users\Razilator\Desktop\Projects\App\backend> py manage.py runserver
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
November 06, 2022 - 08:44:51
Django version 4.1.3, using settings 'engine.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

Скриншот запуска:

На этом мы закончили установку Django и DRF. В следующем уроке мы создадим модель, и попробуем ее сериализировать. 

Уроки будут выходить реже, т.к как у меня большое количество различных дел, и я сам ещё учу DRF:)

Теги записи: Django, Django REST Framework, API, DRF,
Комментарии к статье 0
Комментариев нет
Форма добавления комментария (необходима регистрация)