JavaRush /Курси /Модуль 3: Django /Встановлення Graphene-Django та налаштування проєкту

Встановлення Graphene-Django та налаштування проєкту

Модуль 3: Django
Рівень 24 , Лекція 1
Відкрита

На попередній лекції ми розібралися, що таке GraphQL, його переваги та основні концепції. Сьогодні ми на практиці впровадимо підтримку GraphQL в наш проєкт з використанням бібліотеки Graphene-Django. Приготуйтеся до пригоди, бо далі буде тільки цікавіше!

Встановлення Graphene-Django

Для роботи з GraphQL у Django ми будемо використовувати бібліотеку Graphene-Django. Це високорівнева бібліотека, яка спрощує створення GraphQL API у проєктах Django. Вона дозволяє інтегрувати Django моделі, надаючи зручні інструменти для роботи з типізацією та запитами.

Крок 1: встановлення залежностей

Спочатку встановимо необхідні бібліотеки для роботи з GraphQL у Django:

pip install graphene-django

До цього моменту передбачається, що ви вже створили проєкт Django та налаштували віртуальне середовище. Якщо ні, поверніться до попередніх лекцій з налаштування Django.

Також рекомендується встановити GraphiQL, вбудовану інтерактивну консоль для тестування GraphQL-запитів. Вона постачається разом із Graphene-Django, і пізніше ми її налаштуємо.

Перевірка встановлення: щоб переконатися, що graphene-django встановлений, виконайте наступну команду в Python-терміналі:

import graphene_django
print(graphene_django.__version__)

Якщо виводиться версія бібліотеки, значить, усе готово!

Налаштування проєкту Django для роботи з GraphQL

Тепер, коли ми встановили Graphene-Django, час інтегрувати його у наш Django-проєкт. Для цього виконаємо кілька простих кроків.

Крок 1: додавання graphene_django у INSTALLED_APPS

Відкриваємо файл налаштувань settings.py вашого проєкту і додаємо graphene_django у список додатків:

INSTALLED_APPS = [
    ...
    "graphene_django",
]

Крок 2: налаштування GraphQL у Django

У settings.py також додамо конфігурацію для GraphQL. Ми визначимо, що використовуємо Graphene-Django для роботи з GraphQL API:

GRAPHENE = {
    "SCHEMA": "your_project.schema.schema"  # Вказуємо шлях до схеми GraphQL (створимо її пізніше)
}

Не забудьте замінити your_project на ім'я вашого проєкту.

Крок 3: створення URL для GraphQL

Тепер нам потрібно сказати Django, де буде доступний наш GraphQL API. Для цього змінимо файл urls.py:

from django.contrib import admin
from django.urls import path
from graphene_django.views import GraphQLView

urlpatterns = [
    path("admin/", admin.site.urls),
    path("graphql/", GraphQLView.as_view(graphiql=True)),  # Увімкнемо GraphiQL
]

Зверніть увагу на параметр graphiql=True. Це увімкне інтерфейс GraphiQL, який дозволить нам тестувати запити прямо у браузері.

Перший запуск GraphQL

Налаштування завершено, саме час перевірити, чи все працює! Запускаємо сервер розробника:

python manage.py runserver

Перейдіть у ваш браузер за адресою: http://127.0.0.1:8000/graphql/. Якщо все налаштовано правильно, ви побачите інтерфейс GraphiQL. Він виглядає як затишне місце для програміста: поле для введення запитів, розділ для результатів і довідкова документація.

Звісно, зараз нічого не працює (так-так, це нормально!), адже ми поки що не визначили жодних запитів чи даних. Це буде наступним кроком.

Інтеграція GraphQL у проєкт

Налаштувати GraphQL ми налаштували, але він все ще "порожній". Давайте додамо першу схему, щоб почати працювати з даними.

Крок 1: створення файлу schema.py

У корені вашого проєкту (поруч із urls.py) створіть файл schema.py:

touch schema.py

Відкрийте його і додайте наступний код:

import graphene

class Query(graphene.ObjectType):
    hello = graphene.String(default_value="Привіт, GraphQL!")

schema = graphene.Schema(query=Query)

Пояснимо, що відбувається:

  • Ми створили тип Query, який містить одне поле hello.
  • hello повертає рядок за замовчуванням, який ми вказали як "Привіт, GraphQL!".
  • Ми визначили загальну схему GraphQL і сказали, що Query буде її основним входом.

Крок 2: підключення схеми до проєкту

Тепер потрібно переконатися, що Django знає про нашу схему. Повернемось у settings.py і перевірте, що шлях до схеми вказаний коректно:

GRAPHENE = {
    "SCHEMA": "your_project.schema.schema",
}

Якщо все налаштовано правильно, можемо рухатись далі.

Крок 3: тестування запиту

Перейдіть знову в GraphiQL (http://127.0.0.1:8000/graphql/) і виконайте наступний запит:

query {
  hello
}

Якщо все налаштовано вірно, ви отримаєте відповідь:

{
  "data": {
    "hello": "Привіт, GraphQL!"
  }
}

Ура! Це перший робочий запит GraphQL.

Що далі?

Тепер, коли ми налаштували Graphene-Django та створили простий GraphQL API, у наступних лекціях ми перейдемо до більш складних задач. Ми визначимо користувацькі типи, підключимо Django моделі та навчимося створювати запити і мутації.

GraphQL — це потужний інструмент, який може значно спростити роботу з даними у складних застосунках. Вже зараз ти бачиш, наскільки гнучким і зручним він може бути.

Якщо щось пішло не так, не бійся повертатися до попередніх кроків. У наступній лекції ми будемо заглиблюватися у створення повноцінного API з використанням GraphQL і Django моделей.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ