python – Django管理命令和argparse

前端之家收集整理的这篇文章主要介绍了python – Django管理命令和argparse前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用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']

猜你在找的Python相关文章