我想使用 Django 的内置登录视图:django.contrib.auth.views.login
这种观点做得很好。它会检测登录错误以及帐户尚未验证但错误消息非常短的时间。
对于未激活的帐户:
这个账号未激活。
你知道更冗长的正确方法吗?
我更喜欢这样的东西:
这个账号未激活。一封带有激活链接的电子邮件已发送给您。
实际上,我自己登录,然后将错误上下文传递给模板:
context = {}
if request.method == 'POST':
email = request.POST['email']
password = request.POST['password']
user = authenticate(username=email, password=password)
if user is not None:
if user.is_active:
login_django(request, user)
return redirect('consumer.views.dashboard')
else:
context = {'error': 'disable_account'}
else:
context = {'error': 'invalid_account'}
return render(request, 'login.html', context)
在模板中我可以检查它是什么类型的错误。