当我尝试导入自定义后端时,Settings.py引发错误

时间:2015-11-22 21:18:10

标签: python django authentication

我一直在编写一个小应用程序,我需要通过电子邮件验证用户(作为用户名字段)所以我编写了一个自定义AuthenticationBackend。但是当我导入模块时,我得到以下错误。

$('#cropbox').Jcrop({
    onSelect : updateCoords,
                bgColor : 'transparent',
                bgOpacity : .2,
                setSelect : [ 0, 0, 700, 300 ],
                minSize : [700, 300],
                allowSelect : false,
                onRelease : releaseCheck
                });
        });

function releaseCheck() {
    this.setOptions({ setSelect: [0,0,700,300] });
}

但是我的secret_key字段不是空的。当我删除导入时,我没有收到错误。 这是我的auth_back.py(包含AuthenticationBackend)

django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty

这是我在settings.py中的导入。我把它放在了顶部。

from django.contrib.auth.models import User
from user_manager.models import AllUser
class CustomBackend(object):
    def authenticate(self, email=None, password=None):
         try:
             o = AllUser.objects.get(email=email, password=password)
         except AllUser.DoesNotExist:

                 return None
         return User.objects.get(email=o.email)
    def get_user(self, user_id):
        try:
            return User.objects.get(pk=user_id)
        except User.DoesNotExist:
            return None

我将auth_back.py放在我项目的根文件夹中(我的settings.py和wsgi.py所在的文件夹相同) 提前谢谢。

1 个答案:

答案 0 :(得分:1)

没有理由将后端导入设置。与所有其他设置一样,AUTHENTICATION_BACKENDS设置采用字符串路径。