如何使用Django自定义管理命令选项?

2024-01-05

Django 文档通过示例告诉我如何向我的 django 自定义管理命令添加选项:

from optparse import make_option

class Command(BaseCommand):
    option_list = BaseCommand.option_list + (
        make_option('--delete',
            action='store_true',
            dest='delete',
            default=False,
            help='Delete poll instead of closing it'),
    )

然后文档就停止了。一个人会怎样写handle此类的方法来检查用户是否提供了--delete选项?有时 Django 会让简单的事情变得困难:-(


你可以这样做:

from optparse import make_option

class Command(BaseCommand):
    option_list = BaseCommand.option_list + (
        make_option('--del',
            action='store_true',
            help='Delete poll'),
        make_option('--close',
            action='store_true',
            help='Close poll'),
    )

    def handle(self, close, *args, **kwargs):
        del_ = kwargs.get('del')

请注意,Python 中的一些关键字是保留的,因此您可以使用**kwargs。否则你可以使用普通参数(就像我做的那样)close)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用Django自定义管理命令选项? 的相关文章

随机推荐