选项不会产生值错误

时间:2013-09-17 04:10:34

标签: python django

我有这个定义的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']

1 个答案:

答案 0 :(得分:3)

如果给出参数store_true,则行True将使命令存储布尔值--username,而不是存储下一个值。

我怀疑按照action='store'做某事会做你期望的事。

我认为你目前正在使用optparse,对吗?如果是这样,您可以找到optparse documentation中可用的各种操作的完整列表。