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.
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.
blog/
management/
__init__.py
commands/
__init__.py
greet.py # python manage.py greet# 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.