自从升级到 Django 1.8 后,我的 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
错了吗?还是发生了其他事情?