基于类的思想进行login登陆的实现(Django17)

django中偏向于使用类的方法进行功能的实现

users/views.py

#引入基础类View
from django.views.generic.base import View
#创建登陆类
class LoginView(View):
    def get(self,request):#重写get方法
        return render(request, 'login.html')
    def post(self,request):#重写post方法
        user_name = request.POST.get("username", '')
        pass_word = request.POST.get("password", '')
        # authenticate方法用来验证用户的账号密码是否正确,如果正确,返回User对象,否则返回None
        user = authenticate(username=user_name, password=pass_word)
        if user is not None:  # 判断是否正确
            login(request, user)  # 登陆账户
            # 重定向到index主页
            return redirect(index)  # 重定向到主页,切不可使用render方法,返回的是静态页面,css样式有问题。
        else:
            return render(request, 'login.html', {'msg': "账户或密码错误"})  # 返回页面提示错误
发布了63 篇原创文章 · 获赞 0 · 访问量 1211

猜你喜欢

转载自blog.csdn.net/qq_37463791/article/details/103499251
今日推荐