Django命令允许通过传递--settings=custom.py
如何添加--business=b1
这样的额外选项,以便为所有现有命令初始化特定于业务的内容,而无需修改所有命令?
例如
./manage.py process_orders --business=b1
我可能需要修补补丁BaseCommand
和handle_default_options
答案 0 :(得分:1)
这在文档[1]中得到了很好的解释。以下是文档中的示例,但略微修改为包含业务选项。
from optparse import make_option
class Command(BaseCommand):
option_list = BaseCommand.option_list + (
make_option('--business',
dest='business',
default=None,
help='business help text'),
)
def handle(self, *args, **options):
# ...
if options['business']:
print 'found'
# ...
这会将--business
选项添加到现有的Django选项中。
[1] https://docs.djangoproject.com/en/1.7/howto/custom-management-commands/