文章内容
2018/7/31 12:17:55,作 者: 黄兵
flask显示消息的方法
后台保存的数据是否成功要向前台页面显示,在Flask中显示消息的通用方法是:flush。
具体后台实现代码:
@manage.route('/admin_add_classification', methods=['GET', 'POST'])
@login_required
@admin_required
def admin_add_classification():
# 获取当前用户id
id = current_user.id
# 页面信息
user_info = User.query.get_or_404(id)
title = '首 页'
page_name = 'Dashboard'
page_features = 'dashboard & statistics'
# form
form = AddClassificationForm()
if form.validate_on_submit():
file = form.classification_icon.data
new_filename = file_upload(file)
material_classification = MaterialClassification(classification_name=form.classification_name.data,
classification_icon=new_filename)
db.session.add(material_classification)
db.session.commit()
flash(u'保存成功!', 'success')
return render_template('manage/admin_material_classification.html', user_info=user_info, name=title,
pageName=page_name, description=page_name, pageFeatures=page_features, form=form)之后前端显示代码:
<div class="container-fluid alter_clear">
{% with messages = get_flashed_messages(with_categories=true) %}
{% if messages %}
{% for category, message in messages %}
<div class="alert alert-{{ category }}">
<button type="button" class="close" data-dismiss="alert">×</button>
{{ message }}
</div>
{% endfor %}
{% endif %}
{% endwith %}
</div>
上面可以写成一个通用类,实现复用。
要使用一个自定义的分类,只要使用 flash() 函数的第二个参数:
在模板中,您接下来可以调用 get_flashed_messages() 函数来返回这个分类,在下面的情景中,循环看起来将会有一点点不一样:
这仅仅是一个渲染闪现信息的例子,您可也可以使用分类来加入一个诸如<strong>Error:</strong> 的前缀给信息。
参考资料:消息闪现
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - flask显示消息的方法
评论列表