django controller sinflari

PPTX 34 sahifa 943,0 KB Bepul yuklash

Sahifa ko'rinishi (5 sahifa)

Pastga aylantiring 👇
1 / 34
django controller-sinflari 1-guruh: 1 reja : django'da controller tushunchasi va mvc/mvt modeli. django'da view sinflari va funktsional view lar. django'da class-based view (cbv) larni ishlatish. cbv uchun mixinlardan foydalanish. django'da formview va createview orqali forma ishlash. django'da api yaratish: django rest framework (drf). middleware va controllerlar o‘rtasidagi bog‘liqlik. django'da custom controller sinflari yaratish. 2 django'da controller tushunchasi va mvc/mvt modeli. controller — bu foydalanuvchidan kelgan so‘rovlarni qabul qiluvchi, ularni tahlil qiluvchi va mos javobni tayyorlovchi tizimning logika (mantiqiy) qatlami hisoblanadi. vazifalari: url orqali kelgan so‘rovlarni tahlil qilish model (ma’lumotlar bazasi) bilan aloqada bo‘lish natijani template (html) orqali foydalanuvchiga qaytarish django’dagi controller (view) — bu foydalanuvchi bilan model va template o‘rtasidagi vositachi. u foydalanuvchidan kelgan get yoki post so‘rovlarni qabul qiladi, model bilan ishlaydi va natijani template bilan birga foydalanuvchiga qaytaradi. django web frameworki mvt arxitekturasiga asoslangan. u mvc (model-view-controller) ga juda o‘xshaydi, lekin nomlar biroz boshqacha. 3 model — bu …
2 / 34
anda model (ma’lumotlar bazasi bilan ishlovchi qatlam) bilan o‘zaro aloqada bo‘ladi va natijani ko‘rsatish uchun template (shablon)ga uzatadi. django’dagi view — aslida mvc’dagi controller vazifasini bajaradi. vazifasi: http so‘rovlarni qabul qiladi (get, post, put, delete) ma’lumotlar bazasi bilan ishlaydi (model orqali) html (template) ni foydalanuvchiga qaytaradi 5 funksiya-based view misoli: class-based view misoli: student_list – bu oddiy funksiya. request – foydalanuvchidan kelgan http so‘rov. student.objects.all() – modeldan barcha studentlarni olish. render() – html sahifani (template) va ma’lumotni birlashtirib, foydalanuvchiga qaytaradi. studentlistview – bu klass, u listview dan meros olgan. model – model nomi (student), undan ma’lumot olinadi. template_name – ishlatiladigan html fayl. context_object_name – template’da ishlatiladigan o‘zgaruvchi nomi (students). 6 ikkala turdagi view ham foydalanuvchi so‘roviga javob qaytarish, modeldan ma’lumot olish va uni template (html sahifa) orqali foydalanuvchiga ko‘rsatish vazifasini bajaradi. 7 template — bu html shablon bo‘lib, view dan kelgan ma’lumotlarni foydalanuvchiga vizual tarzda ko‘rsatadi. joylashuvi: templates/ papkasi ichida …
3 / 34
ash dinamik bo'lishi mumkin, masalan, kitobning id'sini urlda yuborish orqali faqat bitta kitobni ko'rsatish. django url parametrlarini olish va view'da ishlatishni ham qo'llab-quvvatlaydi. django’da view sinflari va funksional view’lar django frameworkida foydalanuvchidan kelgan http so‘rovlarni qayta ishlovchi qism — view (ko‘rinish) deb ataladi. view’lar yordamida tizimning asosiy mantiqiy ishlovlari bajariladi: ma’lumot olish, saqlash, tahrirlash, o‘chirish va foydalanuvchiga natijani chiqarish. django’da view’lar ikki shaklda yozilishi mumkin: funksional view’lar (function-based views) sinfga asoslangan view’lar (class-based views) 1.funksional view . funksional view’lar (function-based views)— bu oddiy python funksiyasi bo‘lib, u kamida bitta parametr, ya’ni request obyektini qabul qiladi. ushbu view foydalanuvchidan kelgan so‘rovga javob qaytaradi. django’da eng sodda view mana shunday yoziladi. # views.py from django.http import httpresponse def hello_view(request): return httpresponse("assalomu alaykum, barchaga!") yuqoridagi misolda hello_view funksiyasi foydalanuvchidan kelgan so‘rovga matnli javob qaytaryapti. url bilan bog‘lash: # urls.py from django.urls import path from .views import hello_view urlpatterns = [ path('hello/', hello_view, name='hello'), …
4 / 34
son deb yuboradi. dictionary (lug‘at) formatida qaytariladi. api qurishda asosiy komponent hisoblanadi. 4. funksional view'ning real hayotiy misoli: from django.shortcuts import render from .models import student def student_list(request): students = student.objects.all() return render(request, 'students/list.html', {'students': students}) request — foydalanuvchidan kelgan so‘rov. student.objects.all() — barcha talabalarni modeldan olish. render() — html shablonni chaqirish va unga ma’lumot uzatish. funksional view’lar afzalliklari va kamchiliklari django'da class-based view (cbv) larni ishlatish. class-based view (cbv)lar— bu django’da tayyor sinflar orqali sahifalarni boshqarish usuli. ular orqali ko‘p holatlarda kerakli funksiyalarni yozmasdan turib, tayyor funksiyalar asosida veb sahifani boshqarish mumkin. templateview, detailview, listview — bu cbvning uchta keng qo‘llaniladigan turi bo‘lib, har biri ma’lum bir vazifani bajaradi. templateview bu sinf faqat bitta html sahifani ko‘rsatish uchun ishlatiladi. unda hech qanday ma’lumotlar bazasiga murojaat qilinmaydi. oddiy sahifalarni, masalan “about”, “contact” kabi sahifalarni chiqarishda ishlatiladi. misol uchun: bu yerda template_name bu chiqariladigan html fayl nomi. urls.py faylida bu view …
5 / 34
late_name = 'book_list.html' context_object_name = 'books' context_object_name bu html sahifada foydalaniladigan o‘zgaruvchi nomi. ya’ni book_list.html faylida books deb chaqiriladi va sikl orqali ko‘rsatish mumkin. cbv va funksional viewlar o‘rtasidagi farq 1. cbv (class-based view) — bu sinfga asoslangan yondashuv. u ko‘p hollarda tayyor sinflar orqali tezroq va aniqroq yoziladi. kod tartibli va takrorlanadigan qismlar kamayadi. 2. funktsional view — bu oddiy def yordamida yozilgan view bo‘lib, har bir sahifa uchun qo‘lda kod yoziladi. masalan: 3. agar siz sahifaga modeldagi ma’lumotlarni chiqarayotgan bo‘lsangiz, cbv bu ishni ancha osonlashtiradi, chunki detailview, listview kabi sinflarda bu oldindan yozilgan. funktsional viewda esa siz get_object_or_404, queryset, render kabi funksiyalarni qo‘lda yozishingiz kerak bo‘ladi. 4. cbvda kodni yangilash, sinflarni meros qilib olish va ularga o‘zgarish kiritish osonroq. masalan, umumiy funksiyani bitta asosiy viewda yozib, boshqa viewlarda qayta ishlatish mumkin. def home(request): return render(request, 'home.html') cbv uchun mixinlardan foydalanish — bu kodni qayta ishlatish uchun yaratilgan klass …

Ko'proq o'qimoqchimisiz?

Barcha 34 sahifani Telegram orqali bepul yuklab oling.

To'liq faylni yuklab olish

"django controller sinflari" haqida

django controller-sinflari 1-guruh: 1 reja : django'da controller tushunchasi va mvc/mvt modeli. django'da view sinflari va funktsional view lar. django'da class-based view (cbv) larni ishlatish. cbv uchun mixinlardan foydalanish. django'da formview va createview orqali forma ishlash. django'da api yaratish: django rest framework (drf). middleware va controllerlar o‘rtasidagi bog‘liqlik. django'da custom controller sinflari yaratish. 2 django'da controller tushunchasi va mvc/mvt modeli. controller — bu foydalanuvchidan kelgan so‘rovlarni qabul qiluvchi, ularni tahlil qiluvchi va mos javobni tayyorlovchi tizimning logika (mantiqiy) qatlami hisoblanadi. vazifalari: url orqali kelgan so‘rovlarni tahlil qilish model (ma’lumotlar bazasi) bilan aloqada bo‘lish natijani template (html) orqali foy...

Bu fayl PPTX formatida 34 sahifadan iborat (943,0 KB). "django controller sinflari"ni yuklab olish uchun chap tomondagi Telegram tugmasini bosing.

Teglar: django controller sinflari PPTX 34 sahifa Bepul yuklash Telegram