Xüsusi idarəetmə əmri python manage.py <ad> kimi işə salınan Python sinfidir. Təmizləmə, idxal və hesabat kimi xidməti işləri Django kodunun yanında saxlamağın standart yoludur.

Niyə skript yox, əmr

Ayrıca skript modellərə toxunmazdan əvvəl DJANGO_SETTINGS_MODULE təyin etməli və django.setup() çağırmalıdır. Əmr isə tam tənzimlənmiş layihənin içində başlayır və arqumentlərin təhlilini, --help, çıxış kodlarını və rahat test dəstəyini özü verir.

Əmr necə işləyir
Əmr necə işləyir

Quruluş və yerləşmə

INSTALLED_APPS-dakı istənilən tətbiqin içində management/commands/ yaradın; hər iki qovluqda __init__.py olmalıdır. Faylın adı əmrin adıdır.

text
blog/
  management/
    __init__.py
    commands/
      __init__.py
      greet.py        # python manage.py greet
python
# blog/management/commands/greet.py
from django.core.management.base import BaseCommand

class Command(BaseCommand):
    help = 'Print a greeting'

    def add_arguments(self, parser):
        parser.add_argument('name')
        parser.add_argument('--shout', action='store_true')

    def handle(self, *args, **options):
        text = f"Hello, {options['name']}!"
        if options['shout']:
            text = text.upper()
        self.stdout.write(text)

python manage.py greet Ada --shout işə salınanda HELLO, ADA! çap olunur. python manage.py greet --help isə help mətnini və arqumentləri avtomatik göstərir.

💡 Adı alt xəttlə başlayan fayllar nəzərə alınmır, ona görə köməkçi kodu _utils.py-də saxlayın.

Arqumentlər