С момента обновления до Django 1.8 в моей команде управления Django появляется странная ошибка.Команда управления Django не может видеть аргументы?
я запускаю его следующим образом:
python manage.py my_command $DB_NAME $DB_USER $DB_PASS
И тогда я собираю аргументы следующим образом:
class Command(BaseCommand):
def handle(self, *args, **options):
print args
db_name = args[0]
db_user = args[1]
db_pass = args[2]
self.conn = psycopg2.connect(database=db_name, user=db_user,
password=db_pass)
Раньше это работало хорошо, но теперь я вижу эту ошибку:
usage: manage.py my_command [-h] [--version] [-v {0,1,2,3}]
[--settings SETTINGS]
[--pythonpath PYTHONPATH]
[--traceback] [--no-color]
manage.py my_command: error: unrecognized arguments: test test test
Это даже не доведение до print args
.
Если я запускаю его без каких-либо аргументов, то ошибки на линии args[0]
, неудивительно.
Я использую args
здесь неправильно? Или что-то еще происходит?
Это реальный сценарий? В Django уже есть 'dbshell'. Вы изобретаете колесо. Вы можете вызвать командную строку DB с помощью 'python manage.py dbshell'. – cezar