django manage.py createsuperuser不接受用户名

时间:2015-01-22 17:55:38

标签: python django

我正在学习django并在djangoproject网站上通过this tutorial工作。到目前为止它已经很好但我遇到了“python manage.py createsuperuser”命令的问题。

Username (leave blank to use 'alecgo'):

当我运行该命令时,上面的提示按预期显示,但是当我输入用户名时,它会被踢回,并显示以下错误。

Username (leave blank to use 'alecgo'): admin
Error: Enter a valid username.
Username (leave blank to use 'alecgo'): 

无论我输入什么用户名(或者如果我将其留空),都会发生这种情况,这会阻止我向管理员用户推进。

提前感谢您的帮助。

更新/编辑:我认为不包括这个但是我可能已经安装了django并在虚拟环境中运行所有内容,而不是在我的主Python库上。

1 个答案:

答案 0 :(得分:4)

不确定为什么会这样,但你可以使用python manage.py shell打开django控制台,然后执行:

from django.contrib.auth.models import User
User.objects.create_superuser(u'username', u'email', u'password')

这可能有用。您也许可以使用显式编码将上面的代码放在python文件中(让我们称之为myfile.py):

# -*- coding: utf-8 -*-
from django.contrib.auth.models import User

if __name__ == '__main__':
    User.objects.create_superuser(u'username', u'email', u'password')

...然后从命令行执行文件,如:DJANGO_SETTINGS_MODULE=<path to your settings file> python -m myfile。您也可以从django控制台导入文件:

from myfile import *

请注意,从命令行或django控制台,您应输入myfile而不是myfile.py。另外,请始终确保您的字符串文字以u为前缀,以便python将它们解释为代码点字符串。