我有这个定义的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']
答案 0 :(得分:3)
如果给出参数store_true
,则行True
将使命令存储布尔值--username
,而不是存储下一个值。
我怀疑按照action='store'
做某事会做你期望的事。
我认为你目前正在使用optparse,对吗?如果是这样,您可以找到optparse documentation中可用的各种操作的完整列表。