На минулій лекції ми дізналися про існування Django REST Framework (DRF), бібліотеки для створення REST API на базі Django. Вона суттєво спрощує нам життя в аспектах, пов'язаних з реалізацією функціональності API.
З DRF ваш API буде не тільки функціональним, але й "красивим" — вбудована документація і користувацький інтерфейс
для тестування запитів йдуть прямо з коробки! Давайте встановимо та налаштуємо цей корисний інструмент.
Крок 1: вимоги до встановлення DRF
Перед встановленням переконаємося, що наше середовище готове до роботи з Django REST Framework:
- Python: переконайтеся, що встановлено Python версії 3.6 або вище. DRF любить сучасний Python, тож старого Python 2 сюди вже не беремо.
- Django: на момент підготовки цієї лекції, DRF підтримує Django 3.2 і вище. Переконайтеся, що у вас встановлена одна з сумісних версій.
Все на місці? Поїхали далі.
Крок 2: Встановлення Django REST Framework
Ми будемо використовувати pip, щоб не займатися ручною магією в консолі:
# Встановлюємо DRF за допомогою pip
pip install djangorestframework
Якщо хочеш перевірити поточну версію встановленого DRF, введи:
python -m pip show djangorestframework
Повинно з'явитися щось типу:
Name: djangorestframework
Version: <версія>
Summary: Web APIs for Django.
🎉 DRF встановлений? Чудово! Але зачекай, це ще не все.
Крок 3: Налаштування проєкту для роботи з DRF
Встановлення — справа десяти секунд, а от налаштування — вже більш тонке мистецтво. Давайте зробимо все правильно та структуровано.
- Підключення DRF до проєкту
Для початку переконайтеся, що наш проєкт "знає" про існування DRF. Зайдіть у файл settings.py вашого Django проєкту та додайте 'rest_framework' у список додатків INSTALLED_APPS:
INSTALLED_APPS = [
# Системні та базові додатки Django
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# Додаток DRF
'rest_framework',
]
- Додаємо налаштування DRF (опціонально)
DRF надає можливість тонкої конфігурації через параметри в settings.py. Поки що ми додамо базове налаштування, яке знадобиться в майбутньому:
REST_FRAMEWORK = {
# Налаштування аутентифікації можна буде змінювати в майбутньому
'DEFAULT_AUTHENTICATION_CLASSES': [
'rest_framework.authentication.SessionAuthentication',
'rest_framework.authentication.BasicAuthentication',
],
# Налаштування дозволів (доступу)
'DEFAULT_PERMISSION_CLASSES': [
'rest_framework.permissions.AllowAny', # Поки що, дозволяємо доступ усім
]
}
ці параметри особливо важливі, коли ви будете розробляти складні системи з обмеженням доступу. Поки залишимо все максимально простим.
Крок 4: Перевірка встановлення
Щоб переконатися, що DRF налаштований правильно, ми створимо мінімальний ескіз API, який поверне нам якісь дані. Це займе всього кілька хвилин!
Приклад простого API
Створіть новий файл views.py в одному з ваших додатків із прикладом простого представлення:
from django.http import JsonResponse
def example_api_view(request):
return JsonResponse({"message": "Привіт, Django REST Framework!"})
Тепер додайте маршрут для цього представлення у urls.py:
from django.contrib import admin
from django.urls import path
from .views import example_api_view # Імпортуємо наше представлення
urlpatterns = [
path('admin/', admin.site.urls),
path('api/example/', example_api_view), # Реєструємо наш API-ендпоінт
]
Запустіть сервер:
python manage.py runserver
Якщо ви перейдете на http://127.0.0.1:8000/api/example/, ви маєте побачити:
{"message": "Привіт, Django REST Framework!"}
Ну як вам? DRF вже дозволяє вам створювати API навіть без особливих зусиль.
Типові помилки при встановленні та налаштуванні DRF
Працюючи з DRF вперше, можна натрапити на ряд "граблів". Ось найпопулярніші з них:
Помилка "Module not found" при додаванні 'restframework' в INSTALLEDAPPS: це означає, що DRF не був встановлений. Переконайтеся, що ви дійсно встановили його через
pip install djangorestframework.Помилка при імпорті JsonResponse: перевірте правильність імпорту:
from django.http import JsonResponse.Не працює маршрут (
Page not found): переконайтеся, що маршрут прописаний коректно і сервер перезапущений.Проблема з версіями: якщо DRF вас "лає" на версії, перевірте, що ви використовуєте Python 3.6+ та сумісну з DRF версію Django.
Реальне застосування знань
Тепер у вас є встановлений і налаштований DRF, готовий до роботи. Ви можете почати створювати API для ваших проєктів, інтегрувати мобільні додатки, працювати з фронтенд-розробниками або навіть будувати свій власний сервер для сторонніх сервісів.
Django REST Framework використовується у реальних великих проєктах, таких як OpenStack. Ваші знання не тільки допоможуть вирішити завдання на співбесіді, але й дадуть вам інструмент, з яким ви можете створювати API будь-якого рівня складності.
Тепер DRF готовий до подальшої роботи, вперед до наступної лекції, де почнемо будувати реальний API!
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ