Python 无法登录到django

Python 无法登录到django,python,django,postgresql,Python,Django,Postgresql,我无法使用有效的用户名和密码登录到django管理员。当我将数据库从sqlite更改为postgresql时,问题就开始了 我试图通过./manage.py createsuperuser创建新用户,但没有更改。从pgAdmin III中,我可以看到用户已正确创建,is_staff和is_superuser标志均为真 我正在使用Django 1.6,我创建了通过South的迁移 更新:我编辑了auth后端以接受通过电子邮件登录。我在另一个项目中也使用了这个脚本,并在那里工作。让我知道你的想法 b

我无法使用有效的用户名和密码登录到django管理员。当我将数据库从sqlite更改为postgresql时,问题就开始了

我试图通过./manage.py createsuperuser创建新用户,但没有更改。从pgAdmin III中,我可以看到用户已正确创建,is_staff和is_superuser标志均为真

我正在使用Django 1.6,我创建了通过South的迁移

更新:我编辑了auth后端以接受通过电子邮件登录。我在另一个项目中也使用了这个脚本,并在那里工作。让我知道你的想法

backend.py

设置.py

数据库设置


我认为用自己的身份验证后端替换所有身份验证后端不是一个好主意。 您可以同时拥有多个后端:

AUTHENTICATION_BACKENDS = ('project.apps.account.backend.EmailAuthenticationBackend', 'django.contrib.auth.backends.ModelBackend',)

因此,在此之后,管理员将能够使用用户名/密码登录,在您的自定义登录页面上,用户将能够通过电子邮件/密码登录。

您已经运行了python manage.py syncdb?是的,但没有更改。您的数据库配置正确吗?数据库配置正确。运行python manage.py shell,我可以查询此数据库的数据。您是否有自定义的身份验证后端或替换了身份验证后端?替换它,但不起作用。单独使用“django.contrib.auth.backends.ModelBackend”是不起作用的,因为django默认使用ModelBackend。奇怪的是,当你把它放在一边时,它就不起作用了。您对身份验证做了其他事情吗?没什么,奇怪的是它对sqlite起作用了,收回它不再起作用了。试图清除缓存,但仍不工作。配置似乎正确。你提到了“cloudapp”。在您的本地计算机上,它也不起作用?经验证,数据库设置是正确的,因为它创建了迁移,并且用户表填充良好。只有登录失败。
AUTHENTICATION_BACKENDS = ('project.apps.account.backend.EmailAuthenticationBackend', )
   DATABASES = {
        'default': {
            'ENGINE': 'django.db.backends.postgresql_psycopg2',
            'NAME': 'cloudapp',          
            'USER': 'clouduser',
            'PASSWORD': 'my_password',
            'HOST': 'localhost',
            'PORT': '',
        }
    }
AUTHENTICATION_BACKENDS = ('project.apps.account.backend.EmailAuthenticationBackend', 'django.contrib.auth.backends.ModelBackend',)