- 用上下文处理器app_context_processor定义函数
- 获取session中保存的值
- 返回字典
- 在父模板中更新导航,插入登录状态判断代码。
- 注意用{% ... %}表示指令。
- {{ }}表示变量
- 完成注销功能。
- 清除session
- 跳转
-
@app.context_processor def mycontext(): usern = session.get('user') if usern: return {'username' : usern} else: return {} @app.route('/base/') def base(): return render_template('base.html') @app.route('/register/',methods=['GET','POST']) def register(): if request.method == 'GET': return render_template('register.html') else: username = request.form.get('username') password = request.form.get('password') nickname = request.form.get('nickname') user = User.query.filter( User.username == username).first() if user: return'username existed' else: user = User(username=username,password=password,nickname=nickname) db.session.add(user) db.session.commit() return redirect(url_for('login')) @app.route('/fankui/') def fankui(): return render_template('fankui.html') @app.route('/logout/') def logout(): session.clear() return redirect(url_for('danghangye'))
-
{% if username %} <a href="#">{{username}}</a> <a href="{{url_for('logout')}}">注销</a> {% else %} <a href="{{url_for('login')}}">login</a> <a href="{{url_for('register')}}">register</a> {% endif %}
转载于:https://www.cnblogs.com/Qzlhxxx/p/7892145.html
本文介绍如何在Flask应用中使用上下文处理器获取session中的用户信息,实现导航栏登录状态显示与注销功能。文章详细展示了通过定义mycontext函数来获取session中的用户名,并在父模板中更新导航,实现登录状态的动态展示。此外,还提供了注册、注销功能的代码实现。
1572

被折叠的 条评论
为什么被折叠?



