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

浙公网安备 33010602011771号