我在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错误还是我应该逃避角色?
P.S。 python manage.py runserver
没有任何问题。在Win7上使用命令提示符。
答案 0 :(得分:1)
Django中的错误。
票证:https://code.djangoproject.com/ticket/22234
修复:https://github.com/django/django/pull/2412
图片来源:@lanzz