Django-10 User Authentication

auth module

  from django.contrib import auth

auth methods 

 

Create a user 

          # Introduced auth module database

  from django.contrib.auth.models import User

  

      # Create an object

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

 

  django create the project will produce a auth_user table,

    

 

 

     We just added two fields, there will be a lot of default fields, and is stored encrypted password

 

User Authentication

      # Introduction module

  from django.contrib.auth import authenticate

 

   

    # Generally require username   password two key parameters

   authenticate(username=username, password=password)

   

log in

 

  from django.contrib.auth import login

     

    # This function takes an HttpRequest object and a User object certified

  login(request,user)

 

logout

 

  from django.contrib.auth import logout

 

    # When the function is called, the current request information session will clear

  logout(request)

 

 

Other methods

 

  Whether Login is_authenticated         

                     ob = request.user.is_authenticated

                     print (at)

                     When bool return value,

                       (Operation) The operation of the corresponding user logs on or not done

 

      Decorator @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')

 

 

Guess you like

Origin www.cnblogs.com/sunny666/p/11626724.html