您的位置:首页 > 编程语言 > Go语言

django 用户认证模块

2018-08-06 16:20 639 查看
#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 %}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  django python