Django β 0 dan Expertgacha
Bu kitob Python asoslarini biladigan o'quvchini Django bo'yicha noldan ishonchli full-stack veb-dasturchi darajasiga olib chiqadi. Birinchi urls.py/views.py dan boshlab β template tizimi, modellar va ORM, admin panel, formalar, class-based views, autentifikatsiya, Django REST Framework (DRF) bilan to'liq REST API, signallar, keshlash, async va Celery, testlash, xavfsizlik va production deploy orqali β yakuniy kapston loyihaga qadar. Har bir mavzu sodda tushuntirish, Django 6.0.6 da haqiqiy ishga tushirib tekshirilgan kod va amaliy loyihalar bilan ochib beriladi.
Django 6.0 β full-stack: bir tomondan server tomonida HTML render qiluvchi templates (an'anaviy veb-ilovalar), ikkinchi tomondan DRF orqali zamonaviy SPA/mobil mijozlar uchun REST API. Bu kitobda ikkala qatlam ham qamraladi.
Qoida: Django o'qib emas β YOZIB o'rganiladi. Har bir misolni o'zingiz tering, python manage.py runserver bilan ishga tushiring va brauzer/curl orqali sinab ko'ring. Xato chiqsa β aynan shu yerda haqiqiy o'rganish boshlanadi.
Bu kitob siz Python asoslarini (o'zgaruvchi, funksiya, sinf, dekorator, virtual muhit, pip) bilasiz deb hisoblaydi. Python yangi bo'lsa, avval Python β 0 dan Expertgacha kitobini o'qing.
Qanday o'qish kerak
Boblarni tartib bilan o'qing (01 -> 02 -> ...). Har biri oldingisiga tayanadi, sakramang.
02-bobda virtual muhit yaratib, Django'ni o'rnatib, har bir misolni o'z kompyuteringizda ishga tushiring.
Amaliy loyihalarni o'zingiz qaytadan yozing β ko'chirib qo'yish bilan Django o'rganilmaydi.
ORM va DRF kabi mavzular amaliyotsiz mavhum tuyuladi β har bir QuerySet va endpointni o'zingiz sinang.
Talab
Kerak
Daraja
Kompyuter (Windows / macOS / Linux)
Shart
Python 3.12+ (Django 6.0 uchun)
Shart
Python asoslari
Shart
Terminal va virtual muhit bilan tanishlik
Foydali
HTML/CSS asoslari
Foydali
Oldingi veb tajribasi
Shart emas
Mundarija
I qism β Tanishuv
#
Bob
Mavzu
01
Django bilan tanishuv
Django nima, "batteries included" falsafasi, MVT arxitekturasi, qaerda ishlatiladi va nega tanlanadi.
02
O'rnatish va birinchi loyiha
Virtual muhit, pip install django, django-admin startproject, manage.py, startapp, loyiha tuzilmasi va birinchi runserver.
03
View va URL marshrutlash
Function-based views, HttpRequest/HttpResponse, urls.py, URL parametrlari va path konverterlari, include, nomlangan URL va reverse.
04
Template tizimi (DTL)
Django Template Language: o'zgaruvchilar, teglar, filtrlar, {% extends %}/{% block %} meros, {% include %}, kontekst va template render.
II qism β Modellar va ORM
#
Bob
Mavzu
05
Modellar va migratsiya
Modellar va maydon turlari, makemigrations/migrate, migratsiyalar qanday ishlaydi, baza sxemasi va modeldan jadvalga.
06
ORM va QuerySet so'rovlar
objects manager, filter/exclude/get, lookuplar, order_by, lazy QuerySet, Q va F obyektlari, agregatsiya.
07
Model munosabatlari
ForeignKey, OneToOneField, ManyToManyField, teskari munosabatlar (related_name), munosabatlar bo'ylab so'rov.
08
Admin panel
Django admin'ni yoqish, model ro'yxatdan o'tkazish, ModelAdmin sozlamalari (list_display, search_fields, inlines), maxsuslashtirish.
09
Ilg'or ORM va optimizatsiya
N+1 muammosi, select_related/prefetch_related, annotate, values/only/defer, transaction va so'rovlarni profillash.
III qism β Veb qatlam
#
Bob
Mavzu
10
Formalar va validatsiya
forms.Form va ModelForm, maydon validatsiyasi, clean metodlar, formani render qilish va CSRF himoyasi.
11
Class-based views (CBV)
FBV vs CBV, generic views (ListView, DetailView, CreateView, UpdateView, DeleteView), mixinlar va metodlarni override qilish.
12
Static, media va to'liq layout
staticfiles, STATIC_URL/STATICFILES_DIRS, collectstatic, foydalanuvchi yuklagan media fayllar va to'liq sayt layouti.
13
Autentifikatsiya va ruxsatlar
User modeli, login/logout/register, login_required, permissions va guruhlar, parol boshqaruvi.
14
Sessiyalar, messages va middleware
Session framework, messages tizimi, middleware qanday ishlaydi va o'z middleware'ingizni yozish.
IV qism β REST API (DRF)
#
Bob
Mavzu
15
DRF kirish va serializers
Django REST Framework o'rnatish, Serializer va ModelSerializer, validatsiya, APIView bilan birinchi endpoint.
16
DRF ViewSets va routers
ViewSet/ModelViewSet, DefaultRouter bilan avtomatik URL, kamroq kod bilan to'liq CRUD API.
17
DRF autentifikatsiya (Token, JWT)
API autentifikatsiya: TokenAuthentication, JWT (simplejwt), permission classes va himoyalangan endpointlar.
18
DRF filtrlash, paginatsiya, nested
django-filter, qidiruv va saralash, paginatsiya stillari, nested serializers va munosabatlarni API'da ko'rsatish.
V qism β Ilg'or mavzular
#
Bob
Mavzu
19
Signallar va custom mantiq
pre_save/post_save va boshqa signallar, receiver, custom manager va QuerySet, model metodlari bilan biznes mantiq.
20
Keshlash va performance
Cache framework, per-view va low-level kesh, Redis backend, cached_property, performance o'lchash va tezlashtirish.
21
Async va fon vazifalari
Django async views va ORM, ASGI, Celery bilan fon vazifalari, broker (Redis) va vaqt talab qiladigan ishlarni navbatga qo'yish.
VI qism β Production va kapston
#
Bob
Mavzu
22
Testlash
TestCase, test client, model/view/API testlari, fixtures va factory, coverage va TDD yondashuvi.
23
Settings, env va xavfsizlik
settings.py ni muhitlarga bo'lish, .env va maxfiy kalitlar, DEBUG/ALLOWED_HOSTS, OWASP va Django xavfsizlik sozlamalari.
24
Deployment (production)
Gunicorn/Uvicorn, Nginx, collectstatic, PostgreSQL, environment, Docker va production'ga chiqarish.
25
Yakuniy kapston loyiha
Butun kitobni bog'laydigan production-darajali to'liq loyiha: modellar + DRF API + auth + testlar + deploy. "0 dan expertgacha" yo'lining yakuni.
Muallif
Oqil Imomnazarov β ioqil.uz Β· Telegram Β· YouTube
Kitob bepul tarqatiladi (CC BY-NC-SA 4.0). Savdo qilish taqiqlanadi.