完成注册功能后,登录功能就比较简单了。主要思路逻辑如下:设置LoginView类负责登录功能,设置get方法响应请求,反馈用户登录页面。设置post方法获取用户填写的用户名/手机号和密码以及是否保持登录状态的选择验证用户名/手机号和密码是否完整合规使用authenticate函数Django自带验证用户名和密码及对应结果如果用户勾选同意保持登录状态,则设置session过期时间,默认2周,如果用户不同意,则设置session过期时间归零,最后重定向到相应的页面。需要注意的是,Django中封装的authenticate函数只是设置了验证用户名。如果用户需要通过手机号登录,需要修改原来的方法,使用一个新的类(UsernameMobileBackend)来继承ModelBackend类。,并在authenticate方法中添加mobile,试试:ifre.match(r'^1[3-9]\d{9}$',account):#username==手机号码user=User.objects.get(mobile=account)else:user=User.objects.get(username=account)exceptUser.DoesNotExist:returnNoneelse:returnuser后需要在设置文件中做关联设置指定自定义用户认证后端AUTHENTICATION\_BACKENDS=['apps.users.utils.UsernameMobileBackend']