我有一个名为
"其中
我仍在尝试理解为什么对于未激活的用户,
经过搜索,我发现了类似的问题:user.is_authenticated always returns False for inactive users on template,但没有找到适用于我的情况的答案。
CustomUser
的类,如下所示: class CustomUser(AbstractBaseUser, PermissionsMixin):
email = models.EmailField(max_length=100, unique=True)
username = models.CharField(max_length=20, unique=True)
is_active = models.BooleanField(default=False)
is_staff = models.BooleanField(default=False)
...
"其中
active
default=False
表示默认情况下不激活。在用户注册后自动处理 UserLogin
def,其内容为:" def UserLogin(request):
if request.POST:
username = request.POST['username']
user = authenticate(username=username, password=request.POST['password'])
print('user :', user) # which is print None if user inactive
if user is not None:
print('is user active:', user.is_active) # should print True or False
if user.is_active:
login(request, user)
...
else: # handle user inactive
...
else: # for None user
...
我仍在尝试理解为什么对于未激活的用户,
authenticate
返回 None
?经过搜索,我发现了类似的问题:user.is_authenticated always returns False for inactive users on template,但没有找到适用于我的情况的答案。
AUTHENTICATION_BACKENDS
可能是不必要的。使用内置的登录视图和表单可能是更好的方法。 - Alasdair