您的位置:首页 > 其它

flask中flash不显示问题

2016-08-17 14:01 288 查看
flask中有个flash功能用来提示用户一些信息,比如用户退出登陆或者登陆用户名密码不匹配等。。。

在开发过程中,后台里边写入消息提示flash,但是触发了flash条件但是页面并没有显示需要提示的信息。 

原因:flash消息需要在模板中进行渲染。

例子:用方法get_flashed_messages()来获取后台堆积的flash消息,然后用一个for循环来显示需要提示的信息。

应用代码:

@auth.route('/login', methods=['GET', 'POST'])

def login():

    form = LoginForm()

    if form.validate_on_submit():

        user = User.query.filter_by(email=form.email.data).first()

        if user is not None and user.verify_password(form.password.data):

            login_user(user, form.remember_me.data)

            return redirect(request.args.get('next') or url_for('main.index'))

        flash('无效用户名或密码.')

    return render_template('auth/login.html', form=form)

模板渲染:

<div class="container">

    {% for message in get_flashed_messages() %}

    <div class="alert alert-warning">

        <button type="button" class="close" data-dismiss="alert">×</button>

        {{ message }}

    </div>

    {% endfor %}

    {% block page_content %}{% endblock %}

</div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: