我正在学习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库上。
答案 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将它们解释为代码点字符串。