3

我有这个定义的 Command(BaseCommand) 类:

make_option('--username', action='store_true', dest='username', default=None),

然后我尝试像这样运行它:

python manage.py thescript --username=something

输出是:

manage.py: error: --username option does not take a value

为什么?


编辑

我总是没有:

class Command(BaseCommand):
    args = '--username=username ...'
    help = '...'

    option_list = BaseCommand.option_list + (
        make_option('--username', action='store', default=None, help='...'),
    )

    def handle(self, *args, **options):
        print options['username']
4

1 回答 1

3

如果给定参数,该行将store_true导致命令存储布尔值,而不是存储下一个值。True--username

我怀疑按照以下方式做一些事情action='store'会达到你的预期。

我认为您目前正在使用 optparse,对吗?如果是这样,您可以在optparse 文档中找到可用的不同类型操作的完整列表。

于 2013-09-17T04:15:38.653 回答