以下是我的部分代码,莫用了if语句想要实现当用户登录成功后导航栏会展示不同的页面,并根据session获取到当前登录用户的姓名,但现在为什么登录成功后显示出的依然是需要登陆的页面?
auth
class AuthMiddleware(MiddlewareMixin):
def process_request(self, request):
"""如果用户已登录,则request中赋值"""
user_id = request.session.get('user_id', 0)
user_object = models.Username.objects.filter(id=user_id).first()
request.tracer = user_object
前端语句
{% if request.tracer %}
<li class="dropdown">
<a href=" " class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
aria-expanded="false">{{ request.tracer.username }}<span class="caret"></span></a >
<ul class="dropdown-menu">
<li><a href="/project/list">管理中心</a ></li>
<li role="separator" class="divider"></li>
<li><a href="/logout">退出</a ></li>
</ul>
</li>
{% else %}
<li><a href="/login">登录</a ></li>
<li><a href="/register">注册</a ></li>
{% endif %}
数据库语句
class Username(models.Model):
"""管理员"""
username = models.CharField(verbose_name="用户名", max_length=32, db_index=True) # 创建索引
email = models.EmailField(verbose_name="邮箱", max_length=32)
password = models.CharField(verbose_name="密码", max_length=32)
mobile = models.CharField(verbose_name="手机号", max_length=11)