Bu modulda ish muhiti noldan tayyorlandi: Python va Django o’rnatildi, birinchi loyiha yaratildi, uning fayllari tahlil qilindi va loyiha ichida app tushunchasi bilan tanishildi.
Python va Django o’rnatish
Django — Python paketi, shuning uchun avval Python kerak (python.org saytidan yuklab olinadi; o’rnatishda Windows’da "Add Python to PATH" belgisini qo’yish muhim). Python bilan birga pip — paket o’rnatuvchi keladi. Django shu orqali o’rnatiladi:
python -m pip install Django
O’rnatilganini tekshirish:
django-admin --version
Natija:
5.0.4
Tez-tez uchraydigan xato: django-admin: command not found. Bu odatda Python PATH’ga qo’shilmagani yoki terminal qayta ochilmagani belgisi — terminalni yopib qayta oching, bo’lmasa Python’ni PATH bilan qayta o’rnating.
Loyiha yaratish
Yangi loyiha django-admin yordamida yaratiladi:
django-admin startproject birinchi_loyiha
Buyruq quyidagi tuzilmani hosil qiladi:
birinchi_loyiha/
manage.py
birinchi_loyiha/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
Tashqi papka — shunchaki idish; ichki, loyiha nomidagi papka esa sozlamalar paketi. Bu ikki papkaning nomi bir xil bo’lgani boshida chalg’itadi — ichkarisida settings.py bori sozlamalar paketi ekanini eslab qoling.
IDE o’rnatish
Kod uchun muharrir sifatida VS Code (yoki PyCharm) ishlatiladi. VS Code’da Python kengaytmasini o’rnatish kifoya — u sintaksisni bo’yaydi, xatolarni chizadi va avtoto’ldirish beradi. Loyihani muharrirda tashqi papkadan (manage.py turgan joydan) oching — barcha buyruqlar shu papkada ishga tushiriladi.
Loyiha fayllarining vazifalari
| Fayl | Vazifasi |
|---|---|
manage.py |
Loyihani boshqarish buyruqlari kirish nuqtasi (server, migratsiya va h.k.) |
settings.py |
Loyihaning barcha sozlamalari: app’lar ro’yxati, baza, til, vaqt zonasi |
urls.py |
Loyihaning bosh URL jadvali — qaysi manzil qaysi kodga borishi |
wsgi.py / asgi.py |
Production serverlar uchun kirish nuqtalari (hozircha tegilmaydi) |
__init__.py |
Papkani Python paketi deb belgilaydigan bo’sh fayl |
Kursning bu bosqichida asosan settings.py va urls.py bilan ishlanadi.
Development serverni ishga tushirish
Django o’z ichida o’quv-sinov serveri bilan keladi:
python manage.py runserver
Natija:
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Brauzerda http://127.0.0.1:8000 ochilsa, raketa tasvirlangan "The install worked successfully!" sahifasi ko’rinadi. Server kodni kuzatib turadi: faylni saqlashingiz bilan o’zi qayta yuklanadi — har o’zgarishdan keyin qo’lda o’chirib-yoqish shart emas.
Tez-tez uchraydigan xatolar: buyruqni manage.py turmagan papkada ishga tushirish (can’t open file 'manage.py') — to’g’ri papkaga cd qiling; port bandligi (That port is already in use) — boshqa terminaldagi serverni to’xtating yoki python manage.py runserver 8080 bilan boshqa portda oching.
Django app tushunchasi
Django’da loyiha (project) — butun veb-sayt: sozlamalar va bir nechta app yig’indisi. App — bitta vazifaga javob beradigan mustaqil modul: masalan, blog app’i, foydalanuvchilar app’i, to’lovlar app’i. Kichik saytda bitta app yetarli, lekin tuzilma boshidanoq shu bo’linishga o’rgatadi.
| Loyiha (project) | App | |
|---|---|---|
| Nima? | Sayt yig’indisi: sozlamalar + app’lar | Bitta funksional bo’lak |
| Nechta bo’ladi? | Bitta | Bir nechta bo’lishi mumkin |
| Qanday yaratiladi? | django-admin startproject |
python manage.py startapp |
Yangi app yaratish:
python manage.py startapp darslar
Yaratilgan app’ni tahlil qilish
startapp quyidagi fayllarni hosil qiladi:
darslar/
admin.py # admin panel sozlamalari
apps.py # app konfiguratsiyasi
models.py # ma'lumot modellari (keyinroq)
tests.py # testlar
views.py # so'rovlarga javob beradigan kod
migrations/
Bu bosqichda eng muhim fayl — views.py: keyingi modulda birinchi view funksiyalari aynan shu yerda yoziladi. App yaratilgach, u loyihaga tanishtiriladi — settings.py dagi INSTALLED_APPS ro’yxatiga qo’shiladi:
INSTALLED_APPS = [
"django.contrib.admin",
"django.contrib.auth",
# ...
"darslar",
]
Tez-tez uchraydigan xato: app’ni INSTALLED_APPS ga qo’shishni unutish. Dastlabki oddiy view’lar bunda ham ishlagani uchun xato keyinroq (template yoki model ishlatilganda) chiqadi va sababini topish qiyin bo’ladi — app yaratdingizmi, darhol ro’yxatga qo’shing.
Amaliyot
django-admin --versionvapython --versionbuyruqlari ishlashini tekshiring.kino_saytnomli yangi loyiha yarating, serverni ishga tushiring va brauzerda ochilganini ko’ring.- Serverni
8080portda qayta ishga tushiring. - Loyihada
filmlarnomli app yarating va uniINSTALLED_APPSga qo’shing.views.pyvasettings.pyfayllarini ochib, ichidagilarni o’qib chiqing.
Modul bo’yicha bilimingizni quyidagi test bilan mustahkamlang.