【发布时间】:2015-11-03 17:46:40
【问题描述】:
我有一个菜单,用户可以在其中看到不同的菜单项,具体取决于他们的权限。我在登录时检查用户是否有选项,将其存储在全局变量中,并在呈现菜单时检查该变量。
在生产中,菜单只有大约 50% 的时间正确显示。有时该值已设置,有时为空。为什么这不能正常工作?
@app.route('/login/', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
user = User.get(request.form['username'])
if user.user is None:
return redirect('/login/')
if user and check_password_hash(user.user.password, request.form['password']):
login_user(user)
if isinstance(current_user.user, UserTypeOne):
group = UserGroup.query.filter_by(id=int(current_user.user.group)).first()
app.jinja_env.globals['group_access_to_feature_one'] = group.group_access_to_feature_one
return redirect(request.args.get('next') or url_for('index'))
return redirect(url_for('login'))
header 模板有一个条件来检查该值:
{% if group_access_to_feature_one%}<ul>...</ul>{%endif%}
调试的时候我把{{ group_access_to_feature_one }}放上去看看值,有时候是True有时候是空的。
【问题讨论】:
标签: python session flask jinja2