Python Can';t使用我创建的用户登录django的管理页面
我按照django教程所说的做了,但仍然无法登录localhost:8000/admin/ 使用我创建的用户。我检查了数据库,没有用户名“admin”。 我通过以下方式创建了用户:Python Can';t使用我创建的用户登录django的管理页面,python,django,Python,Django,我按照django教程所说的做了,但仍然无法登录localhost:8000/admin/ 使用我创建的用户。我检查了数据库,没有用户名“admin”。 我通过以下方式创建了用户: from django.contrib.auth.models import User u = User.objects.get(username__exact='john') u.set_password('new password') u.save() 有人能帮我吗?请。我建议您再次完成整个过程,因为您显然遗漏
from django.contrib.auth.models import User
u = User.objects.get(username__exact='john')
u.set_password('new password')
u.save()
有人能帮我吗?请。我建议您再次完成整个过程,因为您显然遗漏了一些内容。 从头开始。 你会看到你错过了什么 附言。 如果您的用户名为john,则用户名为admin的用户不能相同 我假设您可能忽略了从运行python manage.py syncdb,您需要执行以下三项操作才能启用管理站点。你错过了他们中的任何一个吗
syncdb通常创建/更新数据库,因此从您的语句: 我检查了数据库,没有用户名“admin” 我知道你一定是以某种方式创建了数据库。第一次运行syncdb时,系统将要求您创建超级用户。您应该在这里插入您的凭据 但是,如果您丢失了此部件,您可以稍后使用django外壳:
python manage.py shell
这将打开一个加载了django环境的python shell。在该shell中,创建管理员用户,如下所示:
from django.contrib.auth.models import User
u = User(username='admin', is_superuser=True, is_staff=True)
u.set_password('admin')
u.save()
请注意,*is_staff*必须为true,您的新用户才能登录管理区域
和*is_superuser*也必须为true,用户才能拥有所有权限
然后转到localhost:8000/admin/并使用新的“admin”用户登录。我没有错过任何一个。%%>_您能检查一下数据库中是否创建了auth_*表吗?其中应该有七个(“auth_group”是第一个),我在使用SQLlite时也遇到过这个问题(我在Django 1.6上),当提示我这样做时,我肯定是超级用户。我一直在利用你的工作。你知道为什么吗?你使用的是stock django用户模型吗?运行syncdb后,尝试检查auth_用户模型,尤其是is_staff、is_superuser列。它们设置正确吗?您是否有可能正在加载覆盖超级用户的任何装置?旁注:还有一个manage.py createsuperuser命令,您可以使用它作为替代。我想我使用的是stock django用户模型,没有加载任何装置(不知道它们是什么)。当我登录时,我可以看到原始的“超级用户”用户,他们拥有所有正确的属性(is_staff,is_superuser)。在这种情况下,我希望您能够使用“超级用户”用户登录。恐怕我不确定问题出在哪里。我想可能是我的“shell”在eclipse的控制台中,可能插入了奇怪的unicode字符?无论如何,谢谢你。