Inutile de dire aux experts de Django, Django facilite la création de commandes personnalisées!
$ python manage.py hoge
C'est sous la forme de. C'est la partie comme runserver
, migrate
, make migrations
, etc.
Cette fois, je l'ai implémenté parce que je voulais ajouter un paramètre après hoge
, alors partagez-le avec un mémo
image
$ python manage.py hoge 1 2
$ django-admin.py startapp app
Je vais l'implémenter en supposant que j'ai créé une application nommée ʻapp`
app/
├── admin.py
├── apps.py
├── models.py
├── tests.py
└── views.py
Je pense qu'il a une structure comme celle-là. Si non changé
$ mkdir -p app/management/commands
$ cd app/management/commands
$ touch __init__.py
$ touch plus.py #Tout nom «plus» sera le nom de la commande personnalisée
hoge.py
from django.core.management.base import BaseCommand, CommandError
class Command(BaseCommand):
args = '<param_1 param_2 ...>'
help = 'Une commande pour afficher le total des paramètres'
def add_arguments(self, parser):
parser.add_argument('parameters', nargs='+', type=int)
def handle(self, *args, **options):
print(sum(options['parameters']))
Ce qui précède est approprié pour le moment, c'est donc une commande qui ajoute simplement des paramètres et les affiche.
$ python manage.py plus 1 2 3 4
10
Ça devrait ressembler à ça!
Recommended Posts