我一直在编写一个小应用程序,我需要通过电子邮件验证用户(作为用户名字段)所以我编写了一个自定义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所在的文件夹相同) 提前谢谢。
答案 0 :(得分:1)
没有理由将后端导入设置。与所有其他设置一样,AUTHENTICATION_BACKENDS设置采用字符串路径。