Django REST framework (DRF) — это мощная библиотека для создания RESTful API на основе Django. Она предоставляет удобные инструменты для создания, сериализации и валидации данных, а также упрощает обработку запросов и автоматически генерирует документацию.
Для начала работы с DRF необходимо установить его на свой проект. Воспользуйтесь следующей командой:
«`bash
pip install djangorestframework
«`
После установки дополните свой файл settings.py следующей конфигурацией:
«`python
INSTALLED_APPS = [
…
‘rest_framework’,
…
]
«`
Теперь вы можете создавать свои представления (views) и сериализаторы (serializers). Представления определяют, как обрабатывать запросы, а сериализаторы — как преобразовывать модели Django в JSON-формат и наоборот.
Пример создания представления для получения списка объектов из базы данных:
«`python
from rest_framework.views import APIView
from rest_framework.response import Response
from .models import MyModel
from .serializers import MyModelSerializer
class MyModelListView(APIView):
def get(self, request):
queryset = MyModel.objects.all()
serializer = MyModelSerializer(queryset, many=True)
return Response(serializer.data)
«`
Пример создания сериализатора для преобразования модели в JSON:
«`python
from rest_framework import serializers
from .models import MyModel
class MyModelSerializer(serializers.ModelSerializer):
class Meta:
model = MyModel
fields = ‘__all__’
«`
Теперь ваше представление готово для использования. Осталось только добавить его в URL-маршруты. В файле urls.py вашего проекта добавьте следующие строки:
«`python
from .views import MyModelListView
urlpatterns = [
…
path(‘api/mymodels/’, MyModelListView.as_view()),
…
]
«`
Теперь вы можете отправлять GET-запросы на `/api/mymodels/` и получать список объектов вашей модели в формате JSON.
DRF также предоставляет возможность создавать эндпоинты для других HTTP-методов, таких как POST, PUT, PATCH и DELETE, а также обрабатывать авторизацию и аутентификацию, фильтрацию и сортировку данных, работу с пагинацией и многое другое.
Библиотека Django REST framework является отличным выбором для создания RESTful API в Python. Она предоставляет множество инструментов, которые значительно упрощают процесс разработки и позволяют создавать высокопроизводительные и надежные API.
Узнать больше о возможностях DRF и ознакомиться с документацией вы можете на официальном сайте библиотеки: [https://www.django-rest-framework.org/](https://www.django-rest-framework.org/)