Ако сте използвали цифрово устройство за изпращане и получаване на информация, вие сте използвали API. Разработчиците създават API, за да позволят на потребителите да взаимодействат с данни от техните приложения.

Създаването на REST API е удобен начин за споделяне на информация. REST API са дефинирали стандарти, регулиращи споделянето на данни между устройства. За да разберете как работят REST API, можете да създадете такъв от нулата.

Можете да използвате рамката Django REST, за да създадете REST API и да го използвате за показване на данни от база данни.

Използване на Django с REST API

Можеш използвайте REST API за извличане на структурирани данни през HTTP. Подобно на много езици и рамки, Django ви позволява да изградите свой собствен API и да използвате други.

Трябва също така да имате предварително инсталирано следното:

  1. Най-новата версия на python.
  2. Най-новата версия на pip.
  3. Pipenv (въпреки че можете да използвате venv вместо това, ако искате.)
  4. Най-новата версия на Django.

След като инсталирате целия основен софтуер, вие сте готови да започнете.

instagram viewer

1. Инсталирайте Django REST Framework

Django REST рамка е мощен инструментариум, който можете да използвате за изграждане и конфигуриране на уеб API. Неговите персонализирани функции го правят популярен избор за изграждане на REST API.

Можете да инсталирате рамката Django REST със следната команда:

pipenv Инсталирай djangorestframework

2. Създайте приложение Django

Следващите инструкции ще обяснят как да създадете приложение за храни, за да съберете имена и описания на популярни кенийски храни. API ще извлича заявки от база данни, за да позволи на потребителите да взаимодействат с тези данни.

Приложенията на Django са оборудвани с SQLitedatabase, така че не е необходимо да инсталирате друга база данни.

За да създадете приложение Django, първо създайте проект, наречен храна със следната команда:

django-admin startproject храна 

След това създайте приложение Django, нареченокенийска храна:

django-admin startapp kenyanfood

3. Регистрирайте настройките на проекта на приложението

Регистрирайтекенийска хранаприложение в настройките на проекта под ИНСТАЛИРАНИ ПРИЛОЖЕНИЯ масив. Ако пропуснете тази стъпка, Django няма да разпознае приложението. Също така регистрирайте рамката Django REST в същите настройки:

# Дефиниция на приложение

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'кенийска храна',
'rest_framework',
]

4. Регистрирайте URL адреси на приложения

Регистрирам кенийска храна URL адреси на приложения в проекта urls.py файл, както е показано по-долу:

от django.contrib импортиране администратор
от django.urls импортиране път, включват

urlpatterns = [
път ('администратор/', admin.site.urls),
път ('', включете ('kenyanfood.urls')),
]

5. Създайте изглед за API

Създайте фиктивен изглед в приложението views.py файл, така че приложението да не генерира грешки. Първо импортирайте Отговор обекти@apiview декоратор от Django REST framework.

Отговор помага за връщане на стерилизирани данни JSON формат, докато @apiview показва API.

от django.shortcuts импортиране изобразявам
от rest_framework.response импортиране Отговор
от rest_framework.decorators импортиране api_view

# Създайте своите изгледи тук.
@api_view(['ВЗЕМЕТЕ'])
дефgetFood(заявка):
връщане Отговор()

6. Създайте URL път за приложението

Създайте URL път за API изгледа, който сте създали. Тази крайна точка показва кенийска хранаданни.

от django.urls импортиране път
от. импортиране изгледи
от django.conf импортиране настройки

urlpatterns = [
път ('', views.getFood),
път ('пост/', views.postFood),
]

7. Създайте модел за приложението

Класът на модела на приложението се извиква Храна. Трябва да изглежда така:

от django.db импортиране модели

# Създайте своите модели тук.
класХрана(модели. Модел):
име = модели. CharField (max_length=200)
описание = модели. CharField (max_length=500)

Регистрирайте модела в приложението admin.py файл, както е показано по-долу:

от django.contrib импортиране администратор
от .модели импортиране Храна

# Регистрирайте вашите модели тук.
администратор.сайт.регистрирам(Храна)

8. Правете миграции

Следващия, мигрират приложението за създаване на таблици в SQLite база данни. Можете да направите това, като използвате следната команда:

питонуправлявам.pyправят миграциикенийска храна

След това приложете тези миграции, като изпълните тази команда:

питонуправлявам.pyмигрират

Успешната миграция ще изглежда така:

Успешните миграции означават, че базата данни е създала таблици за кенийска хранаПриложение

9. Добавете данни към базата данни

Използвай Django администратор GUI за въвеждане на данни в базата данни. Django администратор има страхотен интерфейс за визуализиране и управление на данните на вашето приложение.

Като алтернатива можете да използвате обвивката на python в командния ред, за да въведете ръчно данни в базата данни. В това ръководство ще използвате администраторския интерфейс на Django.

Използвайте следната команда, за да настроите Django admin:

питонуправлявам.pyсъздайте суперпотребител

Когато бъдете подканени, въведете своя потребителско име, имейл и парола. След това можете да отворите страницата на администратора, като използвате връзката по-долу:

http://127.0.0.1:8000/admin/

Ще видите страницата за вход:

След като влезете, ще видите административния интерфейс на Django с Групи и Потребители модел. И двете са за удостоверяване; на Храна моделът е в секцията по-долу.

Можете да добавяте и изтривате Храна елементи от базата данни от страницата на администратора. Добавете някои кенийски деликатеси, като Ugali, Pilau и Chai, към базата данни.

Сега, когато базата данни има данни, създайте API

10. Сериализиране на модела

Сериализатори конвертирайте сложни Django модели в JSON обекти, което прави данните лесни за четене в API. Сериализиране прави данните по-четими в API.

Създайте нов файл в приложението, наречено serializer.py

от rest_framework импортиране сериализатори
от .модели импортиране Храна

класFoodSerializer(сериализатори. ModelSerializer):
класМета:
модел=Храна
полета=('име','описание')

Вие импортирате сериализатори модул от rest_framework пакетирайте и създайте a FoodSerializer клас, който наследява от Модел Сериализатор клас.

След това посочете Храна модел, който искате да сериализирате, и полетата, които искате да добавите към API.

11. Актуализирайте изгледа

След това актуализирайте изгледа на API с сериализатор и Храна модели.

Първо, дефинирайте a ВЗЕМЕТЕ метод за извличане на всички данни от базата данни Храна. Objects.all() функция. След това сериализирайте данните и ги върнете като отговор JSON формат.

от django.shortcuts импортиране изобразявам
от rest_framework.response импортиране Отговор
от rest_framework.decorators импортиране api_view
от .модели импортиране Храна
от .сериализатор импортиране FoodSerializer

# Създайте своите изгледи тук.
@api_view(['ВЗЕМЕТЕ'])
дефgetFood(заявка):
храна = Food.objects.all()
сериализатор = FoodSerializer (храна, много=Вярно)
връщане Отговор (serializer.data)

След това отворете URL връзката на сървъра:

https://127.0.0.1:8000/

Ще видите, че API показва данни от базата данни:

Поздравления, създадохте REST API!

12. Добавете данни с метода POST

Тествайте дали можете да използвате REST API за добавяне на данни към базата данни.

Първо, дефинирайте a ПУБЛИКУВАНЕ метод в изгледа.

@api_view(['ПУБЛИКУВАНЕ'])
дефpostFood(заявка):
сериализатор = FoodSerializer (данни=request.data)
акосериализатор.е валиден():
сериализатор.запазване()
връщане Отговор (serializer.data)

След това добавете път в приложението urls.py за създаване на крайна точка за API ПУБЛИКУВАНЕ функционалност.

urlpatterns = [
път ('',views.getFood),
път ('пост/',views.postFood),
]

След това отворете този URL адрес:

https://127.0.0.1:8000/post

Ще видите ПУБЛИКУВАНЕ крайна точка. Добавете данни към базата данни в JSON формат в Съдържание и щракнете върху ПУБЛИКУВАНЕ бутон. Например, добавете нов хранителен продукт със следната структура:

{ "име":"Maziwa mala", "описание":"Кисело мляко" }

Ще видите данните, показани в червено JSON формат.

Сега, ако се върнете към ВЗЕМЕТЕ крайна точка http://127.0.0.1:8000/, ще видите храната "Maziwa mala,“ и описанието му е добавено.

Вече имате REST API, който може да показва и добавя елементи към приложението. Какво ще кажете да експериментирате с други CRUD методи? Работещ с АКТУАЛИЗИРАНЕ и ИЗТРИЙ методи ще увеличат функционалността на вашия REST API.

Как да създадете REST API с Django

Вече можете да създадете REST API с помощта на Django. Първо създайте приложение с модел, сериализирайте данните и създайте функция за изглед. След това включете URL крайни точки, за да визуализирате данните във формат JSON.

Изграждането на REST API с Django REST framework е удобен начин за споделяне на данни и предоставяне на страхотно клиентско изживяване на вашите потребители.