Django user authenticate 登錄驗證


Django視圖函數

view視圖函數
from django.shortcuts import render,redirect
from django.contrib.auth import authenticate,login,logout

def acc_login(request):
    “登錄驗證”’
    error_msg = ''
    if request.method == "POST":
        username = request.POST.get('username')
        password = request.POST.get('password')
    
        user = authenticate(username=username,password=password)
        # 用戶去做驗證
        if user:
            print("passed authencation",user)
            login(request,user)  # 登錄可以顯示用戶
            #request.user = user

            return  redirect( request.GET.get('next','/') )
        else:
            error_msg = "Wrong username or password!"
    return render(request, 'login.html', {'error_msg':error_msg})


def acc_logout(request):
    #退出
    logout(request)
    return redirect("/login/")

Django 前端

<div class="container">

      <form class="form-signin" method="post">{% csrf_token %}
        <h2 class="form-signin-heading">PerfectCRM</h2>
        <label for="inputEmail" class="sr-only">Username</label>
        <input type="text" id="" name="username" class="form-control" placeholder="Username" required autofocus>
        <label for="inputPassword" class="sr-only">Password</label>
        <input type="password" name="password" class="form-control" placeholder="Password" required>
         <span style="color: red">{{ error_msg }}</span>
        <div class="checkbox">
          <label>
            <input type="checkbox" value="remember-me"> Remember me
          </label>
        </div>
        <button class="btn btn-lg btn-primary btn-block" type="submit">Sign in</button>
      </form>

</div> <!-- /container -->

  如果想給每條視圖函數加驗證只需要導入

  from django.contrib.auth.decorators import login_required

  給每個視圖函數加上@login_required

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM