- 用上下文处理器app_context_processor定义函数
- 获取session中保存的值
- 返回字典
#上下文处理器,可以让所有自定义变量在所有模板中可见.
@app.context_processor
def mycontext():
username= session.get('user')
if username:
return{'username':username} #返回结果必须为字典
else:
return{}
- 在父模板中更新导航,插入登录状态判断代码。、
- 注意用{% ... %}表示指令。
- {{ }}表示变量
{% if username %}
<li><a href="#">{{ usename }}是不是傻哈哈哈哈</a></li>
<li><a href="{{url_for('logout')}}">注销</a></li>
{% else %}
<li style="float:right"><a class="active" href="{{url_for('regist')}}">注册</a></li>
<li style="float:right"><a class="active" href="{{url_for('login')}}">登录</a></li>
{% endif %}
- 完成注销功能。
- 清除session
- 跳转
#注销
@app.route('/logout/')
def logout():
session.clear()
return redirect(url_for('base')) #重定向