0

&Django でデータベース パスワードにアンパサンド記号を使用しています。ファイルは次のsettings.pyようになります。

DATABASES = {
    'default': {
        'ENGINE'    : 'django.db.backends.mysql',
        'NAME'      : 'testdb',
        'USER'      : 'user1',
        'PASSWORD'  : 'pass&word',
        'HOST'      : '', 
        'PORT'      : '',
    }
}

次のエラーが表示されますdbshell

$ python manage.py dbshell

Warning: Using a password on the command line interface can be insecure.
ERROR 1045 (28000): Access denied for user 'user1'@'localhost' (using password: YES)
'word' is not recognized as an internal or external command,
operable program or batch file.

私のパスワードがpass&wordの場合、コマンドが文字の後に壊れていることがわかります&。これを回避するにはどうすればよいですか (パスワードを変更する以外に)。それは Django のバグですか、それともキャラクターをエスケープする必要がありますか?

PSpython manage.py runserverは問題なく動作します。Win7でコマンドプロンプトを使用。

4

1 に答える 1

1

Django のバグ。

チケット: https://code.djangoproject.com/ticket/22234
修正: https://github.com/django/django/pull/2412
クレジット: @lanzz

于 2014-03-09T11:30:03.233 に答える