Bayonotlar va nazorat oqimi. Python bayonotlariga quyidagilar kiradi:
Bitta tenglik belgisi yordamida topshiriq bayonoti =
Har bir elementni biriktirilgan blok tomonidan foydalanish uchun mahalliy o‘zgaruvchiga yozib, takrorlanadigan ob'ektni takrorlaydigan for bayonoti hisoblanadi.
Kod blokini uning sharti to‘g‘ri bo‘lsa, bajaradigan while operatori, Ilova qilingan kod blokida ko‘tarilgan istisnolarni istisno bandlari (yoki istisnolar guruhlari uchun Python 3.11 da yangi sintaksisi bundan mustasno ushlash va boshqarish imkonini beruvchi try iborasi; shuningdek, finally blokidagi tozalash kodi blok qanday chiqishidan qat'iy nazar har doim ishlashini ta'minlaydi. Ko‘tarilish bayonoti belgilangan istisnoni ko‘tarish yoki tutilgan istisnoni qayta ko‘tarish uchun ishlatiladi. Ob'ektga yo‘naltirilgan dasturlashda foydalanish uchun kod blokini bajaradigan va sinfga mahalliy nomlar maydonini biriktiruvchi sinf bayonoti. Kontekst boshqaruvchisi ichidagi kod blokini qamrab oluvchi (masalan, ishga tushirishdan oldin qulfni olish, keyin qulfni bo‘shatish yoki faylni ochish va yopish) resursni olish tushirish (RAII) - bilan ifodalanadi. xulq-atvor kabi va umumiy sinash/nihoyat idiomani almashtirish.
1.2.1-rasm. Django veb freymworki
Dasturchilarga ajoyib dasturlash tili va "instrument"lar kerak. Yaxshi "instrument" yoki dasturlash tilini topish bu - oddiy yoki tez hal bo‘ladigan masala emas.Bu borada ko‘plab muammolarga duch kelish ham mumkin.Maqolamni ajoyib "instrument" yoki freymvorki sifatida sanalyotgan Djangoga bag‘ishladim.Siz Django haqida eshitganmisiz? Maqolam davomida Django va uning qanday ishlashi haqida ma'lumot berib o‘taman.
Freymvorkining nega bunday atalishi haqida. Django Reynxard Freymvork nomi aynan Fransuz jazz gitaristi Django Reynxardtning sharafiga qo‘yilgan. P.S. Django Reynxardtning barmoqlarida biroz nuqsoni bo‘lsada, gitarada haddan tashqari ajoyib musiqalar ijro etgan.
Django nima va u qanday ishlaydi? Django - python dasturlash tilida veb ilovalar ishlab chiqish uchun ajoyib freymvork. Freymvork python dasturlash tilida yozilgan. Django freymvorki birinchi bor 2005-yil 21-iyulda ishga tushirilgan. Loyihani ishlab chiquvchilari Django Software Foundationdir va loyiha ular tomonidan qo‘llab-quvvatlanadi. Dasturchilar: Rasl Keyt Magi, Adrian Holovaty, Saymon Vilson, Yakob Kaplan Moss, Uilson Mayner. Freymvork krossplatformalikdir(ya'ni barcha operatsion tizimlarni qo‘llab quvvatlaydi). Djangoda yaratilgan sayt bir yoki bir nechta ilovalardan tashkil topishi mumkin. Bu esa freymvorkning arxitekturasini boshqalaridan farqli jihatidir (Misol uchun:Ruby on Rails) [13].
Xulosa: Django bu veb freymvork xisoblanib, freymvorkning ishlash prinsplaridan biri bu - DRY (Don't repeat yourself- "o‘z-o‘zingni takrorlarma"). Bu degani, siz sayt yozish davomida siz "velosiped"ni qaytadan ixtiro qilmaysiz, u siz uchun tayyor. Ya'ni bir kodni qaytadan yozishga hojat yo‘q, bu esa veb ilovaning yaratilish protsessini tezlashtiradi. Django 2005-yilda ishlab chiqildi va shu vaqtdan boshlab bosqichma-bosqich eng yaxshi freymvorklar qatoridan o‘rin egalladi. Freymvork dasturchilarning muammolarini bir necha daqiqa mobaynida hal etib bermoqda. Django veb ilovalarning yozilish jarayonini sezilarli darajada yengillashtirdi va veb ilovalar yaratish uchun ajoyib, soddalashtirilgan yo‘lni taqdim eta oldi.
Freymvork MVC loyihalashtirish shablonidan foydalanadi:
1.2.2-rasm. Freymvork MVC loyihalashtirish
MVC - "Model View Controller" ya'ni : Model(model- ma'lumotlarni o‘zida saqlaydi va controller buyruqlariga asoslanib o‘z holatini o‘zgaritiradi),View (ko‘rinish yoki interfeys - ma'lumotlarning tashqi ko‘rinishini ta'minlaydi), Controller(boshqaruvchi -ya'ni foydalanuvchi harakatlarini interpretatsiya qiladi.
MODEL - Djangoning rasmiy qo‘llanmasida(django documentation) model bu "ma'lumotlarning manbasi" ekanligi haqida aytilgan. U o‘zida kalit so‘zlar va ma'lumotlarni saqlaydi. Qisqa qilib aytganda ma'lumotlar "jadval" ko‘rinishida saqlanadi va buning uchun Djangoda:PostgreSQL, MySQL, SQLite va Oracle kabi ma'lumotlar omborlarini qo‘llab quvvatlaydi.
VIEW- view 3ta asosiy muammoni hal qiladi:HTTP so‘rovlarni qabul qiladi,HTTP so‘rovlarni yuboradi,TEMPLATES ya'ni shablonlar.
Djangoning boshqa freymvorklardan yana boshqa bir farqi, freymvorkdagi URLlarga ishlov beruvchilar(url handlers) regular expressions yordamida konfiguratsiya qilinadi.
Djangoda ORM tushunchasi. Djangoda ma'lumotlar ombori(ma'lumotlar bazasi) bilan ishlash uchun o‘zining ORMini ishlatadi va obyektning modelini pythondagi klasslar yordamida aniqlaydi, shu orqali ma'lumotlar ombori sxemasi shakillanadi:
1.2.3-rasm. Djangoda ORM
Djangoda ORMning ishlash sxemasi. ORM - "Object-Relational Mapping". Dasturlashning bu texnologiyasi ma'lumotlar omobori bilan uzviy bog‘liq bo‘lib, obyektga yo‘naltirilgan dasturlash tilllari konsepsiyasi asosida ishlaydi va virtual "obyektlar ma'lumotlar omborini" yaratadi.
Shuni quvonarliki, freymvorkdagi ORM sababli dasturchi uchun ma'lumotlar ombori bilan ishlay oladigan maxsus tilni bilish talab etilmaydi! ORM kodni minimal ravishda o‘zgartirgan holatda ma'lumotlar omboriga kirish imkoniyatini beradi.
Shablonlar. Django freymvorki shablonlar uchun o‘zining kuchli "yuritkichi"(движок) va maxsus belgilash tiliga ega. Shablonlar o‘zida html kodlarni jamlagan va ular yordamida ma'lumot taqdim etiladi. Saqlangan fayl statik yoki dinamik bo‘lishi mumkin. Shablonlar o‘zlarida hech qanday biznes logikalarni saqlamaydi. Shunchaki ma'lumotlarni taqdim etadi.
Django freymvorki hozirgi kunda ko‘plab yuqori yuklanishga(нагрузка) ega bo‘lgan masalalarni hal etmoqda. Freymvorkni quyidagilar uchun qo‘llashadi:
Python kutubxonalari. Taniqli dasturlash tillarida kutubxonalar mavjud va ular yordamida muammolarga ajoyib yechimlar topsih mumkin. Kutubxonalarda tayyor yechimlarni: funksiyalarni,klasslarni,konfiguratsiyalar va hokazolarni topish mumkin. Kutubxonalar sabab dasturlash tilining imkoniyatlari oshadi va dastur tayyorlash jarayonini ham yengillashtiradi. Shu jumladan, Django ham veb ilovalar yozish davomida kutubxonalardan foydalanadi. Bunday kutubxonalar qatoriga quyidagilarni keltirish mumkin:
Django REST Framework - API lar bilan ishlash jarayonini yangillashtiradi.
Django CMS - Kontentni boshqarish uchun qulay "instrument".
Django-all auth - bu kutubxona yordamida registratsiya, avtorizatsiya, hisob(akkaunt) funksiyalarini amalga oshirish mumkin. Djangoda foydali kutubxonalar talaygina.
Django freymvorkining imkoniyatlari va ba'zi afzalliklari. ORM,APIlarning tranzaksiya yordamida ma'lumotlar omboriga kirish huquqining berilishi.
1.2.4-rasm. Administrator paneli
Administrator paneli interfeysining oldindan mavjudligi. Qo‘shimcha sifatida bu interfeys ko‘plab tillarga tarjima qilingan.Qisqa qilib aytganda, admin paneli tayyor bo‘ldi.
Djangoda server konfiguratsiyasi. Django Apache boshqaruvi mod python moduli bilan birgalikda va PostgreSQLni ma'lumotlar ombori sifatida ishlatish uchun loyihalashtirilgan.
WSGI qo‘llab-quvvatlashi sababli Django FastCGI, mod wsgiyoki SCGI Apache serverida((lighttpd, nginx,…), uWSGIkabilarning boshqaruvi ostida ishlay oladi.
1.2.5-rasm. WSGi serveri
WSGI - ("Web Server Gateway Interface") - Python dasturlash tilidagi dastur bilan server tomonidan amalga oshiriladigan harakatlar o‘rtasidagi muloqotni amalga oshiruvchi standart. Ayni paytda Django faqatgina PostgreSQLma'lumotlar ombori bilan emas, MySQL, SQLite, Microsoft SQL Server, DB2, Firebird, SQL Anywhere va Oraclekabi ma'lumotlar ombori bilan ishlay oladi.
1.2.6-rasm. Django veb serveri ishga tushirilish oynasi
Django freymvorki o‘zining shaxsiy veb serveri mavjud. Bu server fayllardagi o‘zgarishlarni avtomatik ravishda aniqlaydi va loyiha fayllaridagi kodni qayta ishga tushiradi. Bu esa pythonda veb ilovaning ishlab chiqilish vaqtini sezilarli darajada tezlashtiraladi.
Djangoda hosting. Djangoda loyihalashtirligan veb ilovani RedHatning PaaSservislariga joylashingiz mumkin:
OpenShift, ayni paytda unda hosting bepul
Heroku
PythonAnywherening hostinglari
Googleda Django uchun hosting. Google App EnginePython bizga Djangoning istalgan talqini("versiyasi") bilan ishlash imkonini beradi. Google App Engine Pythonda Django bilan ishlash bilan bo‘gliq afzalligi:
Django freymvorki Google-cloud-sql bilan ishlay oladi. Bu freymvorkning barcha imkoniyatlarini ishga solishga, shu jumladan oddiy relyutsion ma'lumotlar ombori bilan ishlash imkoniyatini bera oladi. Agarda siz djangoda veb ilova yaratgan bo‘lsangiz, uni google app engine hostingiga joylashingiz va bepul domen olishingiz mumkin. Misol uchun: vebilova.appspot.com.
Django veb dasturchilarining oylik ish haqlari. Misol tariqasida hh.ru saytidan olgan ba'zi ma'lumotlarimni keltirib o‘tsam:
Python Django backend dasturchi. Oylik ish haqi 17000000 so‘mdan 28000000so‘mgacha. Talablar: Django, Django rest freymvorki, Postgres SQL.
Python Django veb dasturchi. Oylik ish haqi 21000000 so‘m. Talablar: python (kamida 2yillik tajriba), Django veb freymvorki va internet protokollari.
Shuni eslatib o‘tishim kerakki, bu bo‘sh ish o‘rinlari Rossiya Federatsiyasida ammo siz rus tili va o‘z sohangizni professionali bo‘lsangiz, masofadan ham ishlashingiz mumkin.Demak biz Django veb dasturchining o‘rtacha oylik ish haqini 18 million so‘m deb baholasak bo‘ladi. O‘zbekistonda o‘rtacha oylik ish haqi 2 million so‘m desak, Django veb dasturchilarning oylik ish haqlari undan deyarli 9 barobarga ko‘p.
Do'stlaringiz bilan baham: |