今天小编就为大家带来一篇有关django实现用户登陆验证的文章。小编觉得挺实用的,为此分享给大家做个参考。一起跟随小编过来看看吧。
一.django简单用户登陆验证
前端页面:
<div class="container col-lg-6 col-lg-offset-4">
<br><br><br><br><br>
<form class="form-signin col-sm-4 col-lg-offset-2" action="{% url 'login' %}" role="form" method="post"> {% csrf_token %}
<h3 class="form-signin-heading">Please sign in</h3>
<input type="text" class="form-control" name="username" placeholder="Username" required="" autofocus="">
<input type="password" class="form-control" name="password" placeholder="Password" required="">
<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>
后端验证
from django.shortcuts import render,HttpResponseRedirect
from django.contrib.auth import authenticate,login,logout
from django.contrib.auth.decorators import login_required
def acc_login(request):
if request.method == 'POST':
print request.method
username = request.POST.get('username')
passwd = request.POST.get('password')
user = authenticate(username=username,password=passwd)
print 'username:%s \n passwd:%s \n user:%s' %(username,passwd,user)
if user is not None:#pass authtencation
login(request,user)
return HttpResponseRedirect('/')
else:
return render(request,'login.html',{
'login_err':"Wrong username or password!"
})
else:
return render(request,'login.html')
from django.contrib.auth import authenticateuser = authenticate(username='john', password='secret')if user is not None:
# the password verified for the user
if user.is_active:
print("User is valid, active and authenticated")
else:
print("The password is valid, but the account has been disabled!")else:
# the authentication system was unable to verify the username and password
print("The username and password were incorrect.")
来源:http://python.usyiyi.cn/django/intro/tutorial02.html
首页中登录/退出按钮
{% if request.user.is_authenticated %}
<ul class="nav navbar-nav navbar-right">
<li class="dropdown-toggle" data-toggle="dropdown">
<a href="{% url 'login' %}">
{{ request.user.userprofile.name }}
<span class="caret"></span>
</a>
</li>
<ul class="dropdown-menu" role="menu">
<li><a href="{% url 'logout' %}">Logout</a></li>
</ul>
</ul>
{% else %}
<ul class="nav navbar-nav navbar-right">
<li><a href="{% url 'login' %}">Login</a></li>
</ul>
{% endif %}
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse dropdown" id="bs-example-navbar-collapse-1">
{% if request.user.is_authenticated %}
<ul class="nav navbar-nav navbar-right">
<li class="dropdown-toggle" data-toggle="dropdown">
<a href="{% url 'login' %}">
{{ request.user.userprofile.name }}
<span class="caret"></span>
</a>
</li>
<ul class="dropdown-menu" role="menu">
<li><a href="{% url 'logout' %}">Logout</a></li>
</ul>
</ul>
{% else %}
<ul class="nav navbar-nav navbar-right">
<li><a href="{% url 'login' %}">Login</a></li>
{% endif %}
</ul>
</div>
<!-- /.navbar-collapse -->
看完上述内容,你们掌握django实现用户登陆验证的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。