Создание веб API на Django
Вы, наверное, слышали, что лучший способ учиться - это делать. Итак, в этом пошаговом руководстве мы будем создавать RESTful API с Django и Django REST Framework. Проект будет приложением планировщика событий, вроде мини-версии Eventbrite или meetup.com.
Ключевыми функциями будут пользователи для создания событий, а другие зарегистрированные пользователи могут отмечать для посещения созданных событий. Мы также рассмотрим, как просмотреть событие и как установить проверки, чтобы гарантировать, что только те участники, которые присутствовали на нем, могут просматривать любое событие. Надеемся, что к концу этой серии вы также сможете применить некоторые концепции здесь для создания собственных REST API с помощью Django.
Вы найдете код проекта на github.
Пошаговое руководство будет разделено на три основные части для удобства чтения, чтобы не вводить в заблуждение слишком много концепций одновременно.
- Введение и настройка проекта.
- Регистрация, аутентификация и авторизация пользователей с помощью веб-токенов JSON (JWT) и djoser.
- Конечные точки создания событий и посещаемости.
Я постараюсь следовать аналогичной структуре в каждом посте. Это будет главным образом включать:
- Создание модели.
- Сериализаторы, представления API и их изменение в соответствии с нашими потребностями.
- Создание классов разрешений для наших конечных точек.
- Написание автоматических модульных тестов для конечных точек.
- Демо с 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
Вернуться на верх