40
qismlarning joylashgan joyi, rangi, Tepadagi "Youtube" yozuvi bilan bir xil. Bu
template(qolip) deyiladi. Lekin, ikkita pageda video, video nomi,
tavsiya qilingan
videolar va h.k har xil. Bu o‘zgarib turadigan ma’lumotlar.
Har bir ma’lumot uchun alohida HTML kod yoza olmaymiz. Shunchaki, qolib
yozib olamiz va kerakli ma’lumotlarni bu qolipdagi kerakli joylarga "yopishtirib"
chiqamiz. Bu jarayon rendering deyiladi.
Tepada view bizga response qaytarishini bilib oldik. Ana shu response(aniqrog'i
HTTP response) esa kerakli ma'lumotlarni tayyor templatege render qilib, keyin
yuboriladi.
App
Loyiha kattalashgan sari uni alohida qismlarga ajratib,
boshqarishga
oson(managable) qilishga ehtiyoj tug‘iladi. Bunda har bir qismning aniq vazifasi
bo‘lishi kerak.
Bu vazifani djangoda app'lar bajaradi. Har bir app loyihaning o'z vazifasiga ega
bo'lgan qismi. Masalan, Online bozor uchun backend yozganimizda to‘lovlar uchun
alohida app, mahsulotlar uchun alohida app, foydalanuvchilar
uchun alohida app va
h.k. qilishi mumkin. Shunda loyihamiz tushunishga va boshqarishga osonroq bo‘ladi.
Djangoda har bitta app o‘zining MVT dizayniga ega. Ya’ni har bir appning
ichida alohida yuqorida ko‘rib chiqqan model, view va template bor.
API
Yuqorida server side rendering, ya’ni frontend qismini ham backendda yozish
ko‘rildi. Lekin hozirda aksariyat veb dasturlarda backend va frontend qismlari alohida
yoziladi.
Frontenddan
tashqari, backend serveridan android, desktop applicationlar yoki
telegram botlar va h.k.lar foydalanishi mumkin. Masalan, OLXning sayti, mobil/IOS
ilovasi yoki telegram boti orqali ishlatishilishi mumkin. Lekin bularning barchasi bitta
backend server bilan ma’lumot almashadi.
Bu jarayonda API yordamga keladi. U ma'lumot almashish uchun ko‘prik
41
vazifasini bajaradi. APIning o‘zi esa endpointlardan tashkil topgan. Endpoint
har kuni
ishlatadigan “rozetka”ga o‘xshash narsa. Client unga ulanib, ma’lumot almashadi,
huddi televizor elektrga ulanganidek.
API orqali ma’lumot almashish