Создание веб API на Django

Вы, наверное, слышали, что лучший способ учиться - это делать. Итак, в этом пошаговом руководстве мы будем создавать RESTful API с Django и Django REST Framework. Проект будет приложением планировщика событий, вроде мини-версии Eventbrite или meetup.com.

Ключевыми функциями будут пользователи для создания событий, а другие зарегистрированные пользователи могут отмечать для посещения созданных событий. Мы также рассмотрим, как просмотреть событие и как установить проверки, чтобы гарантировать, что только те участники, которые присутствовали на нем, могут просматривать любое событие. Надеемся, что к концу этой серии вы также сможете применить некоторые концепции здесь для создания собственных REST API с помощью Django.

Вы найдете код проекта на github.

Пошаговое руководство будет разделено на три основные части для удобства чтения, чтобы не вводить в заблуждение слишком много концепций одновременно.

  1. Введение и настройка проекта.
  2. Регистрация, аутентификация и авторизация пользователей с помощью веб-токенов JSON (JWT) и djoser.
  3. Конечные точки создания событий и посещаемости.

Я постараюсь следовать аналогичной структуре в каждом посте. Это будет главным образом включать:

  1. Создание модели.
  2. Сериализаторы, представления API и их изменение в соответствии с нашими потребностями.
  3. Создание классов разрешений для наших конечных точек.
  4. Написание автоматических модульных тестов для конечных точек.
  5. Демо с postman.

Настройка проекта

Для этого проекта нам нужно установить Python 3+. Далее нам нужно создать виртуальные среды для установки зависимостей проекта.

Установить virtualenv

pip install virtualenv

Создать новый virtualenv

virtualenv yourenvname -p python3.6

Активировать виртуальную среду

source yourenvname/bin/activate

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

Как только ваша виртуальная среда активирована, нам понадобится ряд зависимостей для проекта.

Джанго и Django rest framework

pip install django djangorestframework

Djoser: REST-реализация системы аутентификации Django.

Библиотека Djoser предоставляет набор представлений и конечных точек Django Rest Framework для выполнения основных действий, таких как регистрация, вход в систему, выход из системы, сброс пароля и активация учетной записи. Вы могли бы создавать функции самостоятельно, но у этого есть большинство функций, которые вы можете в конечном итоге создать.

pip install djoser

django-rest-framework-simplejwt

Предоставляет серверную часть аутентификации веб-токена JSON для REST Framework Django.

pip install djangorestframework_simplejwt

Как правило, если у вас много проектных зависимостей в python, желательно поместить их в файл requirements.txt и установить их одной командой.

pip install -r requirements.txt

Чтобы запустить новый проект django, запустите следующее после активации ранее созданной виртуальной среды.

django-admin startproject eventScheduler

Теперь начнем с первого приложения, которое нам потребуется для следующего раздела:

cd eventScheduler
python manage.py startapp accounts 

Пока все хорошо, я надеюсь. Если вы выполнили следующие шаги, наше приложение должно иметь следующую структуру:

./eventScheduler
├── accounts
│   ├── admin.py
│   ├── apps.py
│   ├── __init__.py
│   ├── migrations
│   │   └── __init__.py
│   ├── models.py
│   ├── tests.py
│   └── views.py
├── eventScheduler
│   ├── __init__.py
│   ├── __pycache__
│   │   ├── __init__.cpython-35.pyc
│   │   └── settings.cpython-35.pyc
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
└── manage.py

 

https://lewiskori.com/post/building-web-apis-with-django

Вернуться на верх