Innovatsiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti




Download 2,41 Mb.
Pdf ko'rish
bet19/31
Sana15.05.2024
Hajmi2,41 Mb.
#234123
1   ...   15   16   17   18   19   20   21   22   ...   31
Model 
 
Hozirda deyarli barcha veb loyihalar ma’lumotlar bazasidan foydalanadi. 
Pythonda yozilgan server ma'lumotlar bazasi (deylik, SQLiteda bo‘lsin) bilan aloqa 
o‘rnatishi uchun o‘rtada “ko‘prik” kerak bo‘ladi. Django ORM uchun mana shu 
vazifani bajaradi. 
Object relational mapper (ORM) – boshqa tur (masalan, ma’lumotlar bazasi) 
dagi ma’lumotlarni biror dasturlash tiliga obyekt sifatida o'tkazib, foydalanish 
imkonini beruvchi qism.
Model esa Django ORMning bir qismi. Demak, u ham serverni database bilan 
bog‘lashga xizmat qiladi. 
SQLda column(ustun)lardan qolip sifatida foydalaniladi. Row(qator)larda esa 
o‘sha qoliplardan foydalanib yaratilgan ma’lumotlar bo‘ladi. 
Djangoda bitta model bitta class orqali ifodalanib, u bitta “qolip”, ya’ni jadvalni 
hosil qiladi. Uning ichidagi fieldlar databaseda ustunlarga to‘g‘ri keladi. Bu model 
classdan olingan obyektlar esa row, ya’ni ustunlarni bildiradi. 
Template 
Response qaytarilganda browserga keladigan ma'lumot HTML, CSS va 
JavaScript fayllari ko'rinishida keladi (F12 ni bosib ko'ring). Bu ma’lumotlar tarkibi 
shartli ravishda ikki xil bo‘ladi: 
Tayyor shablon(qolip) va o‘zgarib turadigan ma’lumotlar. Masalan, youtubeda 
alohida 2 ta oynada 2 xil video ochib ko‘ring. E'tibor bering, sahifa dizayni, pageda 


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 

Download 2,41 Mb.
1   ...   15   16   17   18   19   20   21   22   ...   31




Download 2,41 Mb.
Pdf ko'rish

Bosh sahifa
Aloqalar

    Bosh sahifa



Innovatsiyalar vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti

Download 2,41 Mb.
Pdf ko'rish