Ако сте користили дигитални уређај за слање и примање информација, користили сте АПИ. Програмери креирају АПИ-је како би корисницима омогућили интеракцију са подацима из својих апликација.

Креирање РЕСТ АПИ-ја је згодан начин за дељење информација. РЕСТ АПИ-ји су дефинисали стандарде који регулишу дељење података између уређаја. Да бисте разумели како функционишу РЕСТ АПИ-ји, можете га направити од нуле.

Можете да користите Дјанго РЕСТ оквир да направите РЕСТ АПИ и да га користите за приказ података из базе података.

Коришћење Дјанга са РЕСТ АПИ-јем

Можете користите РЕСТ АПИ за преузимање структурираних података преко ХТТП-а. Као и многи језици и оквири, Дјанго вам омогућава да направите сопствени АПИ и користите друге.

Такође би требало да имате следеће унапред инсталирано:

  1. Најновија верзија питона.
  2. Најновија верзија пип-а.
  3. Пипенв (иако уместо тога можете користити венв ако желите.)
  4. Најновија верзија Дјанга.

Када инсталирате сав основни софтвер, спремни сте да почнете.

1. Инсталирајте Дјанго РЕСТ Фрамеворк

Дјанго РЕСТ оквир је моћан комплет алата који можете користити за прављење и конфигурисање веб АПИ-ја. Његове прилагодљиве функције чине га популарним избором за прављење РЕСТ АПИ-ја.

Можете да инсталирате Дјанго РЕСТ оквир са следећом командом:

пипенв инсталирај дјангорестфрамеворк

2. Направите Дјанго апликацију

Следећа упутства ће објаснити како да направите апликацију за храну за прикупљање имена и описа популарне кенијске хране. АПИ ће преузимати захтеве из базе података како би корисницима омогућио интеракцију са тим подацима.

Дјанго апликације долазе опремљене СКЛите базом података, тако да не морате да инсталирате другу базу података.

Да бисте креирали Дјанго апликацију, прво креирајте пројекат под називом храна са следећом командом:

дјанго-админ стартпројецт фоод 

Затим креирајте Дјанго апликацију под називомкенианфоод:

дјанго-админ стартапп кенианфоод

3. Региструјте подешавања пројекта апликације

Региструјтекенианфоодапликацију у подешавањима пројекта испод ИНСТАЛИРАНЕ АПЛИКАЦИЈЕ низ. Ако прескочите овај корак, Дјанго неће препознати апликацију. Такође, региструјте Дјанго РЕСТ оквир у истим подешавањима:

# Дефиниција апликације

ИНСТАЛЛЕД_АППС = [
'дјанго.цонтриб.админ',
'дјанго.цонтриб.аутх',
'дјанго.цонтриб.цонтенттипес',
'дјанго.цонтриб.сессионс',
'дјанго.цонтриб.мессагес',
'дјанго.цонтриб.статицфилес',
'кенианфоод',
'рест_фрамеворк',
]

4. Региструјте УРЛ адресе апликација

Регистровати кенианфоод УРЛ-ови апликација у пројекту урлс.пи фајл као што је илустровано испод:

из дјанго.цонтриб увоз админ
из дјанго.урлс увоз пут, укључити

урлпаттернс = [
пут('админ/', админ.сите.урлс),
пут('', укључују ('кенианфоод.урлс')),
]

5. Направите приказ за АПИ

Направите лажни приказ у апликацији виевс.пи датотеку, тако да апликација не даје грешке. Прво увезите Одговор објецтанд@апивиев декоратер из Дјанго РЕСТ оквира.

Одговор помаже да се врате стерилисани подаци ЈСОН формат док је @апивиев приказује АПИ.

из дјанго.схортцутс увоз дати, пружити
из рест_фрамеворк.респонсе увоз Одговор
из рест_фрамеворк.децораторс увоз апи_виев

# Креирајте своје погледе овде.
@апи_виев(['ДОБИТИ'])
дефнабавити храну(захтев):
повратак Одговор()

6. Направите УРЛ путању за апликацију

Направите УРЛ путању за АПИ приказ који сте креирали. Ова крајња тачка приказује кенианфоодподатака.

из дјанго.урлс увоз пут
из. увоз погледа
из дјанго.цонф увоз подешавања

урлпаттернс = [
пут('', виевс.гетФоод),
пут('пошта/', виевс.постФоод),
]

7. Направите модел за апликацију

Класа модела апликације се зове Храна. Требало би да изгледа овако:

из дјанго.дб увоз модели

# Креирајте своје моделе овде.
класаХрана(модели. модел):
назив = модели. ЦхарФиелд (макс._ленгтх=200)
опис = модели. ЦхарФиелд (мак_ленгтх=500)

Региструјте модел у апликацији админ.пи фајл као што је приказано испод:

из дјанго.цонтриб увоз админ
из .модели увоз Храна

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

8. Направите миграције

Следећи, мигрирати апликација за креирање табела у СКЛите база података. То можете учинити помоћу следеће команде:

питхонуправљати.пимакемигратионскенианфоод

Затим примените ове миграције тако што ћете покренути ову команду:

питхонуправљати.пимигрирати

Успешна миграција ће изгледати овако:

Успешне миграције значе да је база података креирала табеле за кенианфоодАпликација.

9. Додајте податке у базу података

Користити Дјанго админ ГУИ за унос података у базу података. Дјанго админ има одличан интерфејс за визуелизацију и управљање подацима ваше апликације.

Алтернативно, можете користити питхон схелл на командној линији да ручно унесете податке у базу података. У овом водичу ћете користити Дјанго администраторски интерфејс.

Користите следећу команду да подесите Дјанго администратора:

питхонуправљати.пицреатесуперусер

Када се то од вас затражи, унесите свој корисничко име, имејл и лозинка. Затим можете отворити администраторску страницу користећи везу испод:

хттп://127.0.0.1:8000/admin/

Видећете страницу за пријаву:

Када се пријавите, видећете интерфејс Дјанго администрације са Групе и Корисници модел. Оба су за аутентификацију; тхе Храна модел је у одељку испод.

Можете додати и избрисати Храна ставке из базе података са администраторске странице. Додајте неке кенијске делиције, као што су Угали, Пилау и Цхаи, у базу података.

Сада када база података има податке, креирајте АПИ

10. Сериализујте модел

Сериализерс претворити сложене Дјанго моделе у ЈСОН објеката, чинећи да се подаци лако читају на АПИ-ју. Серијализација чини податке читљивијим на АПИ-ју.

Креирајте нову датотеку у апликацији под називом серијализер.пи

из рест_фрамеворк увоз серијализатори
из .модели увоз Храна

класаФоодСериализер(серијализатори. МоделСериализер):
класаМета:
модел=Храна
поља=('име','Опис')

Ви увозите серијализатори модул из рест_фрамеворк паковање и креирање а ФоодСериализер класа која наслеђује од МоделСериализер класа.

Затим наведите Храна модел који желите да серијалујете и поља која желите да додате АПИ-ју.

11. Ажурирајте приказ

Затим ажурирајте приказ АПИ-ја са серијализер и Храна модели.

Прво, дефинишите а ДОБИТИ метод за преузимање свих података из базе података помоћу Храна. Објецтс.алл() функција. Затим серијализујте податке и вратите их као одговор ЈСОН формату.

из дјанго.схортцутс увоз дати, пружити
из рест_фрамеворк.респонсе увоз Одговор
из рест_фрамеворк.децораторс увоз апи_виев
из .модели увоз Храна
из .сериализатор увоз ФоодСериализер

# Креирајте своје погледе овде.
@апи_виев(['ДОБИТИ'])
дефнабавити храну(захтев):
храна = Храна.објекти.сви()
сериализер = ФоодСериализер (храна, много =Истина)
повратак Одговор (сериализатор.дата)

Затим идите до УРЛ линка сервера:

хттпс://127.0.0.1:8000/

Видећете АПИ који приказује податке из базе података:

Честитамо, направили сте РЕСТ АПИ!

12. Додајте податке помоћу ПОСТ методе

Тестирајте да ли можете да користите РЕСТ АПИ за додавање података у базу података.

Прво, дефинишите а ПОШТА метода у погледу.

@апи_виев(['ПОШТА'])
дефпостФоод(захтев):
сериализер = ФоодСериализер (дата=рекуест.дата)
акосеријализер.је важећа():
серијализер.сачувати()
повратак Одговор (сериализатор.дата)

Затим додајте путању у апликацију урлс.пи да бисте креирали крајњу тачку за АПИ ПОШТА функционалност.

урлпаттернс = [
пут('',виевс.гетФоод),
пут('пошта/',виевс.постФоод),
]

Затим идите до ове УРЛ адресе:

хттпс://127.0.0.1:8000/post

Видећете ПОШТА крајња тачка. Додајте податке у базу података у ЈСОН формату у Садржај одељак и кликните на ПОШТА дугме. На пример, додајте нову храну са овом структуром:

{ "име":"Мазива мала", "Опис":"Укиселити млеко" }

Видећете податке приказане црвеном бојом ЈСОН формату.

Сада, ако се вратите на ДОБИТИ крајња тачка http://127.0.0.1:8000/, видећете храну 'Мазива мала,' и додан је његов опис.

Сада имате РЕСТ АПИ који може да приказује и додаје ставке у апликацију. Шта кажете на експериментисање са другима ЦРУД методе? Рад са АЖУРИРАЊЕ и ИЗБРИШИ методе ће повећати функционалност вашег РЕСТ АПИ-ја.

Како направити РЕСТ АПИ помоћу Дјанга

Сада можете да креирате РЕСТ АПИ користећи Дјанго. Прво направите апликацију са моделом, серијализујте податке и креирајте функцију приказа. Затим укључите крајње тачке УРЛ-а да бисте визуелно приказали податке у ЈСОН формату.

Изградња РЕСТ АПИ-ја помоћу Дјанго РЕСТ оквира је згодан начин за дељење података и пружање вашим корисницима одлично корисничко искуство.