Как создать CRUD REST API с помощью средства просмотра на основе классов в среде Django REST

Следуя приведенным ниже пошаговым инструкциям, вы поймете суть CRUD API и сможете развивать свои навыки программирования с помощью Django.

Как создать CRUD REST API с помощью средства просмотра на основе классов в платформе Django REST. Рисунок 1.

Django Rest Framework (DRF) — это платформа Django, обеспечивающая поддержку создания REST API. Как и Django, DRF позволяет создавать средства просмотра API с помощью средств просмотра на основе функций или классов.

Хотя поначалу работать со средствами просмотра на основе классов может быть сложно, они предлагают множество преимуществ, таких как улучшенная структура кода, повторное использование, наследование и единообразие.

Создайте менеджер рецептов API, используя Django REST Framework.

Приложение-менеджер рецептов — отличный способ узнать о средствах просмотра на основе классов в DRF. Такие функции, как добавление, удаление и редактирование формул, помогут вам понять, как реализовать CRUD (создание, чтение, обновление, удаление). Следующие шаги покажут вам, как создать CRUD API.

Шаг 1. Установите платформу Django REST и настройте свой проект.

1. Создайте виртуальную среду для проекта и установите следующие зависимости:

pip install django djangorestframework

2. Создайте проект Django с именем core с помощью следующей команды:

django-admin startproject core.

3. Создайте приложение с именем рецепт_менеджер:

python Manage.py StartApp Рецепт_менеджер

4. Откройте файл core/settings.py и перейдите к списку INSTALLED_APPS, чтобы зарегистрировать свое приложение:

INSTALLED_APPS = (# пользовательских приложений ‘rest_framework’, ‘recipe_manager’, )

Шаг 2. Создайте шаблон приложения.

1. Откройте файл рецепта_manager/models.py и создайте модель для вашего приложения. Вот базовый пример шаблона формулы:

# models.py из django.db импортирует класс моделей Рецепт(models.Model): имя_рецепта = models.CharField(max_length=255) ингредиенты = models.TextField() инструкции = models.TextField()

2. Создайте миграции и переместите их в базу данных с помощью этой команды:

python Manage.py makemigrations && Python Manage.py мигрировать

Шаг 3. Создайте сериализатор для вашего приложения.

Сериализатор — это компонент Django, который помогает конвертировать сложные типы данных, такие как группы запросов, в отображаемый формат, например JSON или XML…

Чтобы создать сериализатор, выполните следующие действия:

1. Создайте файл с именем рецепт_менеджер/serializers.py.

2. Импортируйте модуль сериализаторов с шаблоном, который вы хотите сериализовать:

# сериализаторы.py из rest_framework импортируют сериализаторы из .models import Recipe # модель для сериализации

3. В том же файле создайте класс сериализатора для вашего шаблона и определите в нем мета-класс:

# serializers.py class RecipeSerializer(serializers.ModelSerializer): class Meta: model = поля рецепта = (‘recipe_name’, ‘ingredients’, ‘instructions’)

В этом коде класс Meta определяет шаблон для сериализации и поля, которые будет обрабатывать сериализатор. Свойство полей может быть списком или кортежем. Если вы хотите сериализовать все поля формы, вы можете сделать это следующим образом:

мета класса: поля = “__all__”

Шаг 4. Напишите средство просмотра для операции CREATE.

Вы можете создавать представления на основе классов для своего приложения, импортируя общие представления, доступные в Django. Чтобы реализовать операцию CREATE CRUD, вам следует импортировать CreateAPIView. Вам также следует импортировать сериализатор в свой модуль:

#views.py из rest_framework.generics import CreateAPIView из .models import Recipe из .serializers import RecipeSerializer

Чтобы реализовать операцию CREATE, вам просто нужно определить сериализатор, который будет использовать средство просмотра. Например:

# Для просмотра класса RecipeCreateView(CreateAPIView): Serializer_class = RecipeSerializer

С помощью этой настройки вы можете создать POST-запрос к приложению.

Шаг 5. Напишите средство просмотра активности READ.

1. Чтобы реализовать операцию READ, импортируйте ListAPIView для средства просмотра. Это поможет вам составить список образцов объектов:

#views.py из rest_framework.generics import CreateAPIView, ListAPIView

2. Создайте класс для средств просмотра и определите используемый сериализатор и запрос:

# Для просмотра класса RecipeListView(ListAPIView): Serializer_class = RecipeSerializer queryset = Recipe.objects.all()

Создайте средство просмотра для чтения конкретной формулы. Чтобы это заработало, вам понадобится RetieveAPIView, добавьте его в свой список импорта:

#views.py из rest_framework.generics import CreateAPIView, ListAPIView, RetriveAPIView

Далее создайте нужную вам программу просмотра:

# действительно xuất класс просмотра RecipeRetrieveView(RetieveAPIView):serializer_class = RecipeSerializer queryset = Recipe.objects.all()

Шаг 6. Напишите программы просмотра для операций UPDATE и DELETE.

Для реализации операций UPDATE и DELETE вам нужны UpdateAPIView и DestroyAPIView соответственно, поэтому импортируйте их:

из импорта rest_framework.generics ( ListAPIView, CreateAPIView, RetriveAPIView, UpdateAPIView, # new DestroyAPIView, # new )

Затем создайте средство просмотра, как вы это делали раньше. На этот раз зрители унаследуют UpdateAPIView и DestroyAPIView соответственно:

# Обновить класс представления RecipeUpdateView(UpdateAPIView):serializer_class = RecipeSerializer queryset = Recipe.objects.all() # X — класс представления RecipeDeleteView(DestroyAPIView):serializer_class = RecipeSerializer queryset = Recipe.objects.all()

Шаг 7. Создайте URL-адрес приложения.

1. Добавьте этот код в core/urls.py, чтобы настроить URL-адрес:

из пути импорта django.urls включите urlpatterns = (path(‘api/’, include(‘recipe_manager.urls’)) )

2. Добавьте следующий код в файл рецепта_manager/urls.py:

из django.urls путь импорта из . import view urlpatterns = ( # Открыть путь (‘recipe/’,views.RecipeListView.as_view(), name=”recipe-list”), # Следующий путь просмотра(‘recipes/create/’, views.RecipeCreateView.as_view(), name=”recipe-create”), # Truy xuất view (Đọc lần lượt) path(‘recipes//’,views.RecipeRetrieveView.as_view(), name=”recipe-retrieve”) , # Обновить путь просмотра(‘recipes//update/’,views.RecipeUpdateView.as_view(), name=”recipe-update”), # Xóa путь просмотра(‘recipes//delete/’,views.RecipeDeleteView.as_view( ), name=”рецепт-уничтожить”), )

Из приведенного выше кода вы увидите, что средства просмотра на основе классов используют функцию as_view() для генерации шаблонов URL-адресов.

Шаг 8. Проверьте конечную точку API

Из каталога проекта запустите:

Сервер запуска Python Manage.py

Это запустит ваш сервер, запустит несколько тестов и распечатает URL-адрес, к которому вы можете получить доступ.

Теперь вы можете протестировать конечные точки API, перейдя по соответствующему URL-адресу и отправив методы HTTP-запроса для операций CRUD. Вы увидите интерфейс по умолчанию следующим образом:

Как создать CRUD REST API с помощью средства просмотра на основе классов в платформе Django REST. Рисунок 2.

Готово! Надеюсь, статья окажется для вас полезной.

В приведенной выше статье вы познакомились с «Как создать CRUD REST API с помощью средства просмотра на основе классов в среде Django REST». СоветыНадейтесь, что эта статья вам поможет! Если эта статья кажется вам интересной и полезной, не забудьте поделиться ею. Спасибо!

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *