Django管理站点不接受超级用户

6
我的管理员站点开始拒绝让任何超级用户登录。我尝试使用manage.py创建全新的超级用户,但管理员站点没有看到其中任何一个,即使manage.py很高兴为现有的超级用户更改密码。
我没有对管理员包做任何更改,但我删除了SQLlite数据库以清除所有测试内容。我立即运行了syncdb,但管理员对此毫不在意,即使按照上述方法创建多个超级用户也是如此。因此,对于django比较新手,下一步该怎么做还有点困惑。
谢谢。

据我所知,您无法使用任何现有用户进入管理员站点。 您是否更改了settings.py? 您能否从<your-site-url>/admin网址访问您的管理员站点? - FallenAngel
已经找出了问题所在,这个问题在 这里 已经很明确地解释了。基本上,我添加了 django-facebook 认证后端,这似乎意味着普通的认证后端没有被包含进来,而这正是管理员使用的。从上面的链接中获取答案,需要将 django.contrib.auth.backends.ModelBackend 添加到 AUTHENTICATION_BACKENDS 中。 - mrmagooey
哈哈,我正要问呢!觉得这个问题听起来很熟悉:)附注:在这种情况下,你应该回答自己的问题并接受它。 - Yuji 'Tomita' Tomita
感谢 @Yuji 的回答和回答技巧。 - mrmagooey
2个回答

11

已经找出了问题所在,详细说明可以在这里找到,但基本上是我添加了django-facebook认证后端,这显然意味着正常的认证后端没有被包含,而管理界面正在使用它。从上面的链接中借鉴答案,需要将 django.contrib.auth.backends.ModelBackend 添加到 AUTHENTICATION_BACKENDS 中。

感谢Yuji


4

比较基础的问题,但是用户是否将 is_staffis_active 设置为 True

如果不是这个问题,我们可能需要更多信息。您可以发布 manage.py dumpdata auth.User --indent 4 的输出,让我们看看您的用户数据是什么样子,这可能有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接