Django 超级用户登录不适用于 --no 输入选项

Djnago superuser login does not work with --noinput option

正在使用 --noinput 选项成功创建超级用户,但无法在管理站点登录。

DJANGO_SUPERUSER_PASSWORD=123#$asdWE
python manage.py createsuperuser --noinput --username admin --email ad@admin.com

没有 --noinput(手动输入密码)的超级用户登录正常。

看看,char # 正在截断密码。

#BAD
dani@dani / % DJANGO_SUPERUSER_PASSWORD=123#$asdWE
dani@dani / % echo $DJANGO_SUPERUSER_PASSWORD 
123#

解决方案:使用引号,同时导出环境变量:

#OK
dani@dani / % export DJANGO_SUPERUSER_PASSWORD='123#$asdWE' #<- quotes & export
dani@dani / % echo $DJANGO_SUPERUSER_PASSWORD       
123#$asdWE

只是成功创建超级用户并不意味着您拥有可以登录管理页面的超级用户。 首先你应该检查密码设置是否正确 可能是你设置的环境变量有误,没有设置密码,所以你可以通过在 shell 中更改密码来测试它,然后重试登录到管理页面 不要忘记使用 set_password 函数来更改密码