Создание RESTful API с Django
Введение. Этот урок посвящен созданию RESTful API с использованием Django. Мы рассмотрим основные концепции, инструменты и лучшие практики, которые помогут вам построить эффективное приложение.
Цели урока:
- Научиться создавать простое RESTful API на Django
- Изучить принципы работы с запросами и ответами
- Понять, как структурировать проект
- RESTful API
- Интерфейс программирования приложений, соответствующий архитектурному стилю REST.
- Django
- Высокоуровневый веб-фреймворк на Python, позволяет быстро разрабатывать веб-приложения.
- JSON
- Формат обмена данными, основанный на текстовом представлении объектов JavaScript.
Установка Django и необходимых библиотек. Для начала, давайте установим Django и Django REST Framework.
pip install django djangorestframework
Создание проекта Django. После установки необходимо создать новый проект.
django-admin startproject myproject
Теперь вы можете перейти в созданный каталог:cd myproject
Создание приложения внутри проекта. Django структурирует проект в приложения, которые могут быть переиспользованы.
python manage.py startapp myapp
Настройка приложения. Не забудьте добавить ваше приложение в настройки проекта.
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'rest_framework', 'myapp', ]
Что нужно установить для работы с Django REST Framework?
Создание модели данных. Для примера создадим модель для хранения информации о книгах.
from django.db import models
class Book(models.Model):
title = models.CharField(max_length=100)
author = models.CharField(max_length=100)
published_date = models.DateField()
isbn = models.CharField(max_length=13)
Теперь необходимо создать миграцию и применить её:
python manage.py makemigrations
python manage.py migrate
Создайте модель для хранения информации о фильмах с полями: название, режиссер, год выхода.
Создание сериализатора. Сериализаторы позволяют преобразовать объект модели в JSON-формат.
from rest_framework import serializers
class BookSerializer(serializers.ModelSerializer):
class Meta:
model = Book
fields = '__all__'
Создание представлений (views). Теперь создадим представление для работы с API.
from rest_framework import viewsets
class BookViewSet(viewsets.ModelViewSet):
queryset = Book.objects.all()
serializer_class = BookSerializer
Настройка маршрутизации (urls). Не забудьте настроить маршрутизацию для вашего API.
from django.urls import path, include
from rest_framework.routers import DefaultRouter
router = DefaultRouter()
router.register(r'books', BookViewSet)
urlpatterns = [
path('', include(router.urls))
]
Запуск сервера. Теперь можете запустить сервер и протестировать API.
python manage.py runserver
Тестирование API. Для тестирования API вы можете использовать Postman или curl.
Вы создали свой первый RESTful API для книг.
Используя Postman, выполните запрос GET на /books и проверьте результат.
Заключение. Вы успешно создали RESTful API с помощью Django. Теперь вы можете расширять и улучшать своё приложение.