sunny-cheng  

auth模块

  from django.contrib import auth

auth一些方法 

 

创建用户 

          #引入auth模块的数据库

  from django.contrib.auth.models import User

  

      #创建一个对象

  User.objects.create_user(username = username, password = password)

 

  django 创建项目就会产生的auth_user表,

    

 

 

     我们只是添加了两个字段,这里会有很多默认字段,并且是加密保存的密码

 

用户认证

      #引入模块

  from django.contrib.auth import authenticate

 

   

    #一般需要username  password两个关键字参数

   authenticate(username=username, password=password)

   

登录

 

  from django.contrib.auth import login

     

    #该函数接受一个HttpRequest对象,以及一个认证了的User对象

  login(request,user)

 

注销登录

 

  from django.contrib.auth import logout

 

    #当调用该函数时,当前请求的session信息会全部清除

  logout(request)

 

 

其他一些方法

 

  是否登录        is_authenticated         

                     ob = request.user.is_authenticated

                     print(ob)

                     返回的时bool值,

                       (作用)根据用户登录与否做相应操作

 

      装饰器           @login_requierd

                @login_required

                def order(request)

                用户登录才能访问order页面

 

      修改密码         set_password()

                    user = User.objects.get(username='')
                    user.set_password(password='')
                    user.save

 

 

 

小例子:

  views.py

 

def log(request):
    if request.method == 'POST':
        username = request.POST['name']
        password = request.POST['pwd']
        user = authenticate(username=username, password=password)   #验证登录用户是否存在
        if user:
            login(request,user)                          #登录
            print(request.user)
            print(request.user.is_authenticated)
            return HttpResponse('登录成功')
        else:
            return HttpResponse('用户名或者密码不正确')

    return render(request,'login.html')



def regist(request):
if request.method == 'POST':
username = request.POST['name']
password = request.POST['pwd']
user = User.objects.create_user(username = username, password = password) #创建用户
return HttpResponse('注册成功')
return render(request,'regist.html')

 

 

posted on 2019-10-06 10:53  sunny-cheng  阅读(126)  评论(0编辑  收藏  举报