L'écriture d'une gestion personnalisée de commande avec les arguments et les options - explication des champs nécessaires
Dans mon django application que je suis en train d'écrire une gestion personnalisée de commande qui permettra de créer une instance d'un objet basé sur les arguments passés et ont la possibilité de l'enregistrer dans la base de données basée sur le fait qu'une option --save
est passé ou pas.
J'ai eu beaucoup d'aide sur ce de la documentation de django lui-même. Ont également obtenu des indications importantes de ici sur la façon de passer plusieurs arguments et ici sur la façon d'avoir des options.
from optparse import make_option
class Command(BaseCommand):
option_list = BaseCommand.option_list + (
make_option('--delete',
action='store_true',
dest='delete',
default=False,
help='Delete poll instead of closing it'),
)
def handle(self, *args, **options):
# ...
if options['delete']:
poll.delete()
# ...
Cependant, je ne suis pas en mesure de trouver une explication détaillée des champs dans make_option. Par exemple optparse.make_option listes
Instance attributes:
_short_opts : [string]
_long_opts : [string]
action : string
type : string
dest : string
default : any
nargs : int
const : any
choices : [string]
callback : function
callback_args : (any*)
callback_kwargs : { string : any }
help : string
metavar : string
Dans ce help
est auto-explicatif et j'ai compris ce dest
voudrait dire, mais je ne suis pas sûr que action='store_true'
moyens. En fait, ce serait super si quelqu'un pouvait me donner une courte description de ce que tous les arguments de make_option
veux dire...
Merci beaucoup
Vous devez vous connecter pour publier un commentaire.
Le optparse docs peut-être un peu plus utile. Vous êtes dit en gros à la fonction de gestion de ce que chaque option doit faire.
La
action
mot-clé est le plus révélateur et il configure ce que vous voulez faire avec l'option - s'agit-il simplement d'un indicateur de faire quelque chose de spécial (uncallback
, c'est à dire '--enable-feature") ou doit-il accepter un paramètre par exemple (store
, c'est à dire 'les choses 10').Avec cela à l'esprit, le reste des options, faire un peu plus de sens à ce que tous à l'esprit. Lisez en option, le "attributs" pour obtenir une explication de ce que vous avez énumérés, puis 'les actions pour voir ce que j'ai mentionné ci-dessus
Explication de make_option de la documentation http://docs.python.org/2/library/optparse.html#populating-the-parser
Ce sont tous les attributs d'options:
http://docs.python.org/2/library/optparse.html#option-attributes
Usage en commun dans un django gestion de la commande: