if request.user.is_authenticated
来源:6-3 用户登录-2
慕少4732649
2019-02-26
6-2课程里,在index.html中,if request.user.is_authenticated这个判断好像一直为真,views里面login()函数登陆成功,也没用~
<div class=" header">
{% if request.user.is_authenticated %}
<div class="top">
<div class="wp">
<div class="fl"><p>服务电话:<b>33333333</b></p></div>
<!--登录后跳转-->
<!-- <a style="color:white" class="fr registerbtn" href="register.html">注册</a> -->
<!-- <a style="color:white" class="fr loginbtn" href="/login/">登录</a> -->
<div class="personal">
<dl class="user fr">
<dd>bobby<img class="down fr" src="/static/images/top_down.png"/></dd>
<dt><img width="20" height="20" src="/static/media/image/2016/12/default_big_14.png"/></dt>
</dl>
<div class="userdetail">
<dl>
<dt><img width="80" height="80" src="/static/media/image/2016/12/default_big_14.png"/></dt>
<dd>
<h2>django</h2>
<p>bobby</p>
</dd>
</dl>
<div class="btn">
<a class="personcenter fl" href="usercenter-info.html">进入个人中心</a>
<a class="fr" href="/logout/">退出</a>
</div>
</div>
</div>
</div>
</div>
{% else %}
<div class="top">
<div class="wp">
<div class="fl"><p>服务电话:<b>33333333</b></p></div>
<!--登录后跳转-->
<a style="color:white" class="fr registerbtn" href="register.html">注册</a>
<a style="color:white" class="fr loginbtn" href="/login/">登录</a>
</div>
</div>
{% endif %}
from django.contrib.auth import authenticate , login
def user_login(request):
if request.method=='POST':
username = request.POST.get('username','')
password = request.POST.get('password','')
user = authenticate(username=username,password=password) #函数判断usename/pw是否为真,否则返回None
if user is not None:
login(request,user) #可以登陆(session和cokies)
return render(request, 'index.html', {})
else:
return render(request,'login.html',{})
elif request.method == 'GET':
return render(request,"login.html",{})
写回答
1回答
-
Ethreal
2019-02-26
还是需要严谨一点,有就是有,没有就是没有 好像是什么个意思啊,你debug下 输入错误的密码是否走登录页面的逻辑,对比下源码确定此处无问题的话 强制刷新下浏览器缓存看看,有的时候也有可能是缓存没更新
00
相似问题