Skip to content

Django manage.py buyruqlari. 2-qism

Djangoning manage.py skriptining foydali buyruqlarini ko'rib chiqishni davom etamiz.

check

Djangoning check buyrug'i eng ko'p uchraydigan xatolarni aniqlash uchun qulay vosita. U sintaksis xatolarni aniqlash uchun xizmat qilmaydi.

check dan foydalanish:

python manage.py check

qo'shimcha tag bilan modellar uchun tekshirish:

python manage.py check --tag models

ayni bir ma'lumotlar ombori uchun tekshirish:

python manage.py check --database default

xavfsizlik uchun tekshirish:

python manage.py check --tag security

deploy uchun tekshirish:

python manage.py check --deploy

deploy uchun tekshirishda settings.py da ko'rsatilgan DEBUG, ALLOWED_HOSTS kabi muxim qismlarni tekshirib agar muamo bo'lsa ogohlantirish xabarlarini beradi.

createsuperuser

createsuperuser buyrug'i superuser(django admin ga kirish uchun) qo'shishga xizmat qiladi.

foydalanish:

python manage.py createsuperuser

Buyruq ishga tushiriganidan so'ng quyidagi ma'lumotlarni kiritish so'raladi:

  • username(foydalanuvchi nomi)
  • email(ixtiyoriy, sozlamalarga bog'liq)
  • password(parol)

superuserni bitta buyruqda argumentlar bilan qo'shish.

python manage.py createsuperuser --username=admin --email=[email protected]

dbshell

dbshell djangoda sql so'rovlarni ishga tushirish uchun maxsus interaktiv oyna ochish uchun xizmat qiladi. Bu bilan to'g'ridan to'g'ri django loyihasi bog'langan ma'lumotlar bazasiga so'rovlar yozish imkoniyati ochiladi.

foydalanish

python manage.py dbshell
dbshell ishlashi uchun quyidagi talablar bajarilishi kerak:

  • ma'lumotlar omboriga ulanish uchun maxsus paketlar(database clients) o'rnatilgan bo'lishi.
  • settings.py DATABASES sozlangan bo'lishi kerak.

Qo'llab quvatlanadigan ma'lumot omborlari va paketlar

Tizim Paket
PostgreSQL psql
MySQL/MariaDB mysql
SQLite Built-in (sqlite3)
Oracle sqlplus

dbshellga misol

SELECT * FROM auth_user;
\dt  -- List tables
\q   -- Exit

sqlmigrate

sqlmigrate buyrug'i Djangoda SQL so'rov generatsiya qilish uchun kerak bo'ladi. Bu buyruq loyihani debug qilish jarayonida juda qulay hisoblanadi.

foydalanish:

python manage.py sqlmigrate <app_label> <migration_number>
* app_label - app nomi * migration_number migratsiya raqami

python manage.py sqlmigrate users 0001

Mavjud migratsiyalar ro'yxatini ko'rish

python manage.py showmigrations

Qachon foydalanish kerak

  • migrate qilishdan oldin SQL so'rovni ko'rish uchun.
  • debug qilish jarayonida
  • agar SQL so'rov shell bilan kiritish kerak bo'lsa.

flush

flush ma'lumotlar omborida barcha ma'lumotlarni o'chirish uchun foydalaniladi. Barcha jadvallarga ma'lumotlarni kiritish boshidan boshlanadi, faqat migratsiyaga aloqador jadvallarda o'chirish amalga oshirilmaydi.

foydalanish:

python manage.py flush

inspectdb

inspectdb mavjud ma'lumotlar ombori jadvallaridan, Django modellarini generatsiya qiladi. Agar sizda biror oldindan mavjud ma'lumotlar bazasi bo'lsa, Django loyihasida ishlashi kerak bo'lsa bu imkoniyat ayana shu holatlar uchun mos keladi.

foydalanish:

python manage.py inspectdb

Bu buyruq natijasi termenalga chiqdi, agar sizga .py faylga saqlash kerak bo'lsa quyidagicha yozishingiz kerak bo'ladi.

python manage.py inspectdb > models.py

Agar sizda ayni bir jadval uchun model generatsiya qilish kerak bo'lsa quyidagicha ishga tushirish kerak:

python manage.py inspectdb my_table

collectstatic

collectstatic buyrug'i Djangoning statik fayllarini settings.py sozlamalari asosida yuklash uchun xizmat qiladi. Ya'ni STATIC_ROOTda ko'rsatilgan kataloga, barcha statik fayllarni (CSS, JavaScript, tasvirlar va boshqalar) yuklaydi.

foydalanish:

python manage.py collectstatic

collectstatic ishga tushuriliganda oldin tasdiqlashni so'raydi agarda tasdiqlash kerak bo'lmasa quyidagi tartibda ishga tushirish kerak bo'ladi.

python manage.py collectstatic --noinput

Biror statik fayl qayerdaligini aniqlsh kerak bo'lsa quydagi buyruq ishga tushuriladi:

python manage.py findstatic myfile.css

test

Djangoning test buyrug'i testlarni ishga tushurish uchun ishlatiladi.

ishga tushurish:

 python manage.py test
  • Django loyihasidagi barcha testlarni ishga tushuradi.
  • Barcha tests.py fayllari yoki tests/ kataloglarini ko'rib chiqadi.
  • Djangoning unittestlarini ishga tushuradi.

shell

shell Django querylarini yozish va debug qilish uchun maxsusu interaktiv oyna ochish uchu xizmat qiladi. shell Django muhitida ishga tushganligi uchun modellarni import qilish va boshqa so'rov operatsiyalarini amalga oshirish mumkin.

foydalanish:

python manage.py shell

Qachon ishlatish kerak?

  • Django so'rovlarini debug qilish jarayonida
  • Django model yoki funksiyalarini test qilishda
  • bir martalik skriptlarni ishga tushirishda.

startproject

startproject buyrug'i Django bilan yangi loyiha hosil qilishda foydalaniladi. Quyidagi tartibda ishga tushirish mumkin.

django-admin startproject myproject

Natija:

myproject/
│── manage.py
│── myproject/  
│   │── __init__.py
│   │── settings.py
│   │── urls.py
│   │── asgi.py
│   │── wsgi.py
Djangoni ishga tushirish uchun boshlang'ich kerakli fayllar hosil qilinadi.

Yuqoridagi misolda myproject katalogi ichida hosil qilindi, agar sizga boshqa katalog mavjud bo'lsa quyidagicha ishga tushirishingiz zarur.

django-admin startproject myproject ./folder_path/

Natija:

folder_path/
│── manage.py
│── myproject/  
│   │── __init__.py
│   │── settings.py
│   │── urls.py
│   │── asgi.py
│   │── wsgi.py

startapp

Djangodagi startapp buyrug'i loyiha ichida yangi Django ilovasini(app) hosil qilish uchun ishlatiladi. Bu Django loyihangizda mustaqil modul yaratish uchun kerakli papka tuzilishi va fayllarni hosil qiladi.

ishga tushirish:

python manage.py startapp myapp

Natija:

myapp/
│── migrations/
│   ├── __init__.py
│── __init__.py
│── admin.py
│── apps.py
│── models.py
│── tests.py
│── views.py
Agar sizda mavjud papka ichida hosil qilmoqchi bo'lsangiz quyidagicha ishga tushiriasiz:

python manage.py startapp ./folder_path/

Natija:

folder_path/
│── migrations/
│   ├── __init__.py
│── __init__.py
│── admin.py
│── apps.py
│── models.py
│── tests.py
│── views.py

clear_cache

Django-dagi clear_cache buyrug'i sozlangan keshni tozalash uchun ishlatiladi(Redis, Memcached, yoki ma'lumotlar ombori).

ishga tushirish

python manage.py clear_cache

Ya'ni quyidagi tartibda sozlangan kesh xotirasini tozalaydi:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}