#https://www.cnblogs.com/ccorz/p/6357815.html
urls.py增加
url(r'^login$',appscan_views.login,name="login"),
settings.py增加
INSTALLED_APPS = [
'django.contrib.auth',
MIDDLEWARE = [
'django.contrib.auth.middleware.AuthenticationMiddleware',
增加login.html模版
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="shortcut icon" href="/static/favicon.ico">
<title>VULSCAN</title>
<!-- 引入 Bootstrap core CSS -->
<link href="/static/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container" style="margin-top:150px;">
<div class="row">
<div class="col-md-4"></div>
<div class="col-md-4">
<h1 class="text-center"><p>VulScan</p></h1><h2></h2>
<form class="form-horizontal" role="form" action="{% url 'login' %}" method="post">
{% csrf_token %}
<div class="form-group">
<label class="col-sm-4 control-label">username:</label>
<div class="col-md-8">
<input type="username" style="width:200px;" name="username" class="form-control" placeholder="username">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label">password:</label>
<div class="col-md-8">
<input type="password" style="width:200px;" name="password" class="form-control" placeholder="Password">
</div>
</div>
<div class="form-group">
<div class="col-md-12">
<div class="col-md-4"></div>
<div class="col-md-4">
<button type="submit" class="btn btn-primary btn-lg">submit</button>
</div>
<div class="col-md-4"></div>
</div>
</div>
</form>
</div>
<div class="col-md-4"></div>
</div>
</div>
<script src="/static/js/jquery.min.js"></script>
<script src="/static/css/bootstrap.min.css"></script>
</body>
</html>
增加認證方法
from django.contrib import auth
def login(request):
if request.method == 'POST':
#獲取表單用戶密碼
username = request.POST.get('username', '')
password = request.POST.get('password', '')
#獲取的表單數據與數據庫進行比較
user = auth.authenticate(username = username,password = password)
if user:
#比較成功,跳轉index
auth.login(request,user)
request.session['username'] = username
return HttpResponseRedirect('/')
else:
#比較失敗,還在login
return render(request, 'login.html')
else:
return render(request, 'login.html')
{% if user.is_authenticated %}
<p>Welcome, {{ user.username }}. Thanks for logging in.</p>
{% else %}
<p>Welcome, new user. Please log in.</p>
{% endif %}