Я пишу приложение Django, где я ожидаю использовать много команд management.py.Мне нравится идея, что функции python имеют параметры со значениями по умолчанию, где вы определяете параметр как:
def function(param1=value1)
Поэтому я пишу свои команды управления так, чтобы вы вводили следующее:
python manage.py createdb user=some_user db_name=some_name
Насколько я могу судить, команды management.py не принимают этот тип списка аргументов, поэтому я создал помощника для следующих действий:
def process_args(args=None):
kwargs = {}
if not args:
return kwargs
for i in args:
try:
k,v = i.split('=')
kwargs[k] = v
except ValueError, ve:
raise CommandError("Please Enter All Arguments as key=value. e.g. user=admin")
return kwargs
Есть ли лучший способсделать это?