[PYTHON] Fügen Sie den benutzerdefinierten Befehlen von Django Parameter hinzu

Einführung

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

Umgebung

Implementierung

$ 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

Fügen Sie den benutzerdefinierten Befehlen von Django Parameter hinzu
Hinzufügen von Optionen zum run.ver-Manager von Django
Faltung zu MNIST hinzufügen
Linux-Befehle zum Erinnern
Hinzufügen / Entfernen des Kernels zu JupyterLab
Fügen Sie MeCab ein Wörterbuch hinzu
Alternative zu Djangos Befehl dumpdata
Seitenzahl zu PDF hinzufügen
So bedienen Sie GeoIp2 von Django
Kernel-Parameter, die häufig geändert werden
Fügen Sie MeCab ein Benutzerwörterbuch hinzu