django中提供了两个方法实现用户验证和登录:
1. 用户名和密码验证: authenticate()
2. 用户登录: login()
authenticate
(request=None, **credentials) - 验证用户名和密码
验证方法有两种:
1. 查询数据库数据进行验证
user_name = login表单.clean_data['username']
# ====== 通过数据库进行查询 ====== #
# from apps.users.models import UserProfile
# user = UserProfile.objects.get(username = user_name)
# 上面的这种方式,只查到了用户是否存在,没有比较密码是否正确
# 但是在数据库中密码都是加密的,如果比较密码,我们需要把获取的密码进行加密,再和数据库中的密码进行比较
# 这种方式既繁琐,又不利于代码的扩展
# ================================ #
2. 使用django的authenticate() 方法进行验证
user = authenticate(username=user_name, password=password) # 验证了用户名