登录之后更新导航

  1. 用上下文处理器app_context_processor定义函数
    1. 获取session中保存的值
    2. 返回字典
      @app.context_processor
      def mycontext():
          username = session.get('user')
          if username:
              return {'username':username}
          else:
              return {}
  2. 在父模板中更新导航,插入登录状态判断代码。
    1. 注意用{% ... %}表示指令。
    2. {{ }}表示变量
      {% if username %}
          <li><a href="#"style="color: red" >{{ username }}</a></li>
          <li><a href="{{url_for('logout')}}"style="color: red" >注销</a></li>
          {% else %}
          <a href="http://127.0.0.1:5000/login" style="color: red">登录</a>
          <a href="{{ url_for('regist')}}" style="color: red">注册</a>
          {% endif %}
  3. 完成注销功能。
    1. 清除session
    2. 跳转
      @app.route('/logout/')
      def logout():
          session.clear()
          return redirect(url_for('hh'))
      {% if username %}
          <li><a href="#"style="color: red" >{{ username }}</a></li>
          <li><a href="{{url_for('logout')}}"style="color: red" >注销</a></li>
          {% else %}
          <a href="http://127.0.0.1:5000/login" style="color: red">登录</a>
          <a href="{{ url_for('regist')}}" style="color: red">注册</a>
          {% endif %}
原文地址:https://www.cnblogs.com/00js/p/7892472.html