【发布时间】:2016-06-08 16:32:41
【问题描述】:
我正在尝试在 django 中编写一个自定义管理命令,如下所示-
class Command(BaseCommand):
def add_arguments(self, parser):
parser.add_argument('delay', type=int)
def handle(self, *args, **options):
delay = options.get('delay', None)
print delay
现在当我运行python manage.py mycommand 12 时,它会在控制台上打印 12。这很好。
现在,如果我尝试运行python manage.py mycommand,那么我想要它,该命令默认在控制台上打印 21。但它给了我这样的东西-
usage: manage.py mycommand [-h] [--version]
[-v {0,1,2,3}]
[--settings SETTINGS]
[--pythonpath PYTHONPATH]
[--traceback]
[--no-color]
delay
那么现在,如果没有给出值,我应该如何使命令参数“不需要”并取默认值?
【问题讨论】:
-
您不想将这个
delay = options.get('delay', None)更改为这个delay = options.get('delay', 21)来处理默认值吗?只是猜测。