无法登录Django中的管理站点

时间:2016-07-03 20:49:45

标签: python django

我正在通过民意调查教程,一切都很好,直到我尝试登录管理站点;它只是说

  

“请为员工帐户输入正确的用户名和密码。请注意,这两个字段可能区分大小写。”

所以我用Google搜索了问题并尽我所能。以下是我调查过的所有问题:

  • 数据库未同步:我已同步并且没有任何更改。
  • 没有django_session表格:我查了一下;它在那里。
  • 有问题的设置:我对设置所做的唯一更改是'polls.apps.PollsConfig',添加到INSTALLED_APPS
  • 未正确配置用户: is_staffis_superuseris_active均为True
  • 旧会话:我检查了django_session表,它是空的。
  • 超大邮件Cookie:我查了一下,我甚至都没有。
  • 在运行Web服务器时创建超级用户:我这样做了,但在停止Web服务器,创建新用户,重新启动Web服务器并尝试使用新用户登录后,仍然没有用。
  • 错误或错误的网址格式:目前我在mysite / urls.py中有url(r"^admin/", admin.site.urls)
  • 输入错误的用户名:我创建的用户名是“admin”,这与我输入的用户名相同。
  • 错误的服务器命令:我正在使用python manage.py runserver
  • 数据库有问题:我尝试删除数据库,然后重新应用迁移,但没有任何变化。

还有什么我还没试过,或者我错过了什么?

6 个答案:

答案 0 :(得分:2)

我猜您会通过其他方式创建此用户,而不是python manage.py createsuperuser

当您有两个身份验证系统时会发生这种情况。即,。您可能拥有django内置身份验证和(例如)基于DRF令牌的身份验证。

要登录后端(django admin),您必须使用python manage.py createsuperuser

要更改密码,请使用以下

python manage.py changepassword

答案 1 :(得分:1)

检查您的 is_active 模型字段。您可能已将其默认值设置为 False,因此它可能不允许您登录。<​​/p>

如果是这样 -- is_active = models.BooleanField(default=False) -- 把它改成 True,或者检查数据库,把创建的超级用户的 is_active 中的值改成 1。

答案 2 :(得分:0)

有时候,最简单的解决方案可以解决巨大的问题。 对我来说,注释掉或删除就足够了:

SESSION_COOKIE_SECURE = True

仅此而已。

答案 3 :(得分:0)

我认为您应该尝试以下步骤:

  1. 创建新的管理员用户

    python manage.py createsuperuser

  2. 使用新帐户登录管理站点

  3. 重置您的帐户密码并对其进行修改

  4. 使用您的原始帐户登录管理站点

答案 4 :(得分:0)

我的问题是使用了正确的设置模块,因为我对 local/local_proxy 和生产使用了不同的数据库 DJANGO_SETTINGS_MODULE=serverless_django.settings.local_proxy python manage.py createsuperuser 为我工作

答案 5 :(得分:0)

如果使用的数据库是默认的 sqlite3 数据库,并且 settings.py 的 DATABASES 属性引用了与 manage.py 不在同一目录中的 db.sqlite3 文件,则也可能发生这种情况。

相关问题