Найкращий спосіб використання Django - REST API

Фото Томаса з Unsplash

До появи програм на одній сторінці програми додають повний HTML-документ із CSS на сервері за допомогою PHP, Java або іншої мови та використовують запити JavaScript / JQuery та AJAX для надання певного набору взаємодій, які користувач може мати із веб-сторінкою . Це дуже добре працювало з системою шаблонів і статичними файлами Django, оскільки Django зробив всю роботу за вас, завантажуючи файли, необхідні для певної URL-адреси.

Але потім з'явилися програми на одній сторінці.

Замість того, щоб перезавантажувати кожну сторінку через таку дію, як натискання кнопки - і змушувати користувача зачекати трохи довше - Програми для однієї сторінки дозволяють швидко перезавантажувати швидкість між сторінками з асинхронними запитами HTTP, забезпечуючи безперебійну роботу користувачів, але з жертвою початковий час завантаження. Багато хто вже перебуває або перебуває у процесі переходу до використання фреймворків Javascript для свого фронтального стека та в значній мірі відокремлює передню частину від задньої. Це по суті робить шаблони Джанго марними.

На мою думку, найкращий спосіб використовувати Django для веб-додатків - це використовувати його для створення API REST та використання фронтальних фреймворків - React.js, Angular.js, Ember.js, Vue.js - для візуалізації веб-сторінки , який може бути абсолютно незалежним від Джанго.

REST API

По суті, API - це інтерфейс, який надає сервер / бекенд, щоб додатки могли спілкуватися з ними. API REST - це API, який дотримується набору правил під назвою REST (Представницький стан передачі) та кінцева точка API - це певні функції інтерфейсу.

Візьмемо для прикладу Instagram, який опублікував свій API для громадськості. Тож скажіть, що ви хотіли дізнатись інформацію про користувача 1234567, його ім’я, скільки у них підписників, їх біографії тощо. З огляду на ДОСТУП, який ви отримуєте від Instagram, ви робите запит до кінцевої точки:

https://api.instagram.com/v1/users/12345678/?access_token=ACCESS-TOKEN

Веб-сервери Instagram виконуватимуть певні функції, що включають пошук у їхній базі даних, щоб отримати цього користувача, а потім повернуть цей текст у форматі JSON:

{
 "Дані": {
     "Id": "1234567",
     "Ім'я користувача": "snoopdogg",
     "Full_name": "Snoop Dogg",
     "Profile_picture": "http://distillery.s3.amazonaws.com/profiles/profile_1574083_75sq_1295469061.jpg",
     "Біо": "Це моє біо",
     "Веб-сайт": "http://snoopdogg.com",
     "Рахує": {
         "ЗМІ": 1320,
         "Далі": 420,
         "Follow_by": 3410
     }
  }
}

Якщо ви хочете отримати більше інформації, наприклад їх підписників, вам доведеться подати ще один запит на іншу URL-адресу, щоб отримати список їх підписників. Існують також способи додавання користувачів, додавання фотографій тощо, якщо ви надаєте деякі дані, але це залежить від того, чи хочуть вони дозволити громадськості робити це. Так створюються додатки сторонніх розробників, щоб відстежувати, хто не відвідував вас. Насправді мобільні додатки Instagram називають купу цих функцій API і відображають ці дані дуже гладким і швидким способом (насправді це дуже захоплююче, як вони швидко роблять додаток; ЦТ Інстаграм говорить про це тут)

Django REST Framework

Один чудовий і поширений спосіб реалізації API з Django - це використання Django REST Framework, пакету Django, упакованого потужними, але гнучкими інструментами для створення API REST. Це дозволяє вам серіалізувати свої дані (перекладати об’єкти моделі в - у цьому випадку текст), швидко записувати представлення / кінцеві точки та перевіряти їх, додавати автентифікацію та багато іншого.

Завдяки цьому ви зможете відокремити його від попереднього, що дозволяє вам розширюватися за допомогою інших форматів, таких як додатки IOS та Android, не дотримуючись лише веб-додатків. Крім того, ваш передній і задній не будуть інтегровані дуже жорстким і складним способом, що робить налагодження живим пеклом. Навіть такі компанії, як Instagram та Doordash, використовували Django для впровадження свого API як резервного сервісу, а Instagram використовував React.js для розробки свого веб-додатка.

Це, на мою думку, найкращий спосіб використовувати Джанго.

Більше ресурсів

  • Що таке REST?
  • Офіційна рамка REST Django
  • Підручник з рамки Django REST

Якщо вам сподобалось його читати, залиште хлопа / коментар! Я дуже новачок у цьому і хотів би покращитись - будь-яка відповідь вітається :)

Ознайомтесь і з іншими моїми повідомленнями!