python – Django管理命令和argparse

我正在尝试使用argparse创建一个Django管理命令,但是每当我运行它时,它总是不会返回有效的选项,因为此消息来自manage.py: class Command(BaseCommand): def handle(self, *args, **options): parser = argparse.ArgumentParser(Parsing arguments)

我正在尝试使用argparse创建一个Django管理命令,但是每当我运行它时,它总是不会返回有效的选项,因为此消息来自manage.py:

class Command(BaseCommand):
    def handle(self,*args,**options):
        parser = argparse.ArgumentParser('Parsing arguments')
        parser.add_argument('--max',type=float,store)
        args = parser.parse_args(sys.argv[2:])

将一些参数解析器与管理命令一起使用的正确方法是什么?

Python版本2.x.

解决方法

在Django中,选项在传递给Command之前使用OptParser进行解析.您应该将您的选项添加到BaseCommand.option_list,如下所示:

class Command(BaseCommand):
    help = 'My cool command'
    option_list = BaseCommand.option_list + (
        make_option('--max',action='store',dest='max',type='float',default=0.0,help='Max value'),)

    def handle(self,**options):
        print options['max']

作者: dawei

【声明】:西安站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部