Django Gestion De L'Argument De La Commande
J'ai besoin de passer un argument entier à une base de commande dans Django. Par exemple, si mon code était
from django.core.management import BaseCommand
class Command(BaseCommand):
def handle(self, *args, **options, number_argument):
square = number_argument ** 2
print square
Je veux dire python manage.py square_command 4 et de l'avoir de retour 16.
Est il possible que je peux passer un argument à travers le terminal la commande je veux courir?
OriginalL'auteur Peter Graham | 2014-12-22
Vous devez vous connecter pour publier un commentaire.
Ajouter cette méthode à votre classe de Commande:
Vous pouvez ensuite utiliser votre option dans le code, comme ceci:
L'avantage de cette façon de faire est que le
help
de sortie est généré automatiquement pourmanage.py my_command --help
Doit être accepté de répondre.
Comme de Django 2.8, c'est la façon de le faire.
Je pense que tu veux dire 1.8
Comment pouvez-vous ajouter de la valeur par défaut?
OriginalL'auteur acidjunk
Oui. Le mécanisme pour le faire est décrit ici, mais, fondamentalement, vous pouvez obtenir de l'argument de la
args[0]
.Pour ceux qui veulent plus de détails, voir la réponse par acidjunk.
maintenant, vous devez utiliser le
add_arguments
méthode, qui a été ajouté dans la version 1.8, donc je ne recommanderais pas cette réponse plus complète plus.OriginalL'auteur mipadi