Django-Experten können mit Django-Experten ganz einfach benutzerdefinierte Befehle erstellen!
$ python manage.py hoge
Es ist in Form von. Es ist der Teil wie "Runserver", "Migrieren", "Migrationen durchführen" usw.
Dieses Mal habe ich es implementiert, weil ich nach hoge
einen Parameter hinzufügen wollte, also teile ihn mit einem Memo
Bild
$ python manage.py hoge 1 2
$ django-admin.py startapp app
Ich werde es unter der Annahme implementieren, dass ich eine App namens "App" erstellt habe
app/
├── admin.py
├── apps.py
├── models.py
├── tests.py
└── views.py
Ich denke, dass es eine solche Struktur hat. Wenn nicht geändert
$ mkdir -p app/management/commands
$ cd app/management/commands
$ touch __init__.py
$ touch plus.py #Jeder Name "plus" ist der benutzerdefinierte Befehlsname
hoge.py
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
args = '<param_1 param_2 ...>'
help = 'Ein Befehl zum Anzeigen der Gesamtzahl der Parameter'
def add_arguments(self, parser):
parser.add_argument('parameters', nargs='+', type=int)
def handle(self, *args, **options):
print(sum(options['parameters']))
Das Obige ist vorerst angemessen, es ist also ein Befehl, der nur Parameter hinzufügt und diese anzeigt.
$ python manage.py plus 1 2 3 4
10
Es sollte so aussehen!
Recommended Posts