@buoge
2017-09-22T11:04:55.000000Z
字数 1219
阅读 1261
Python
http://aiax.info/post/xiaoxishangxian
from flask import flash
@app.route('/', methods=['GET'])
def index():
flash('flash successfully!')
return render_template('index.html')
{% for message in get_flashed_messages() %}
{{ message }}
{% endfor %}
###文艺写法:
{% with messages = get_flashed_messages() %}
{% if messages %}
{% for message in messages %}
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert">
<span aria-hidden="true">×</span>
<span class="sr-only">Close</span>
</button>
{{ message }}
</div>
{% endfor %}
{% endif %}
{% endwith %}
flash()方法的第二个参数是消息类型,可选“message,info, warning,error"。
jinja2模板通过设置get_flashed_messages()的with_categories和category_filter参数,可以获取消息类型,也可以过滤特定的消息类型。
我们还可以对闪现消息进行分类,比如有些消息是正常的通知消息,而有些消息是出错消息。同样,我们需要两个步骤: 使用 flash() 函数的第二个参数,不使用的话,默认是 'message'
flash('add book fail', 'error')
接着,在模板中调用get_flashed_messages()函数来返回这个分类,类似下面:
{% with messages = get_flashed_messages(with_categories=true) %}
{% for category, message in messages %}
{{category}}: {{ message }}
{% endfor %}
{% endwith %}
{% with error_messages = get_flashed_messages(category_filter=["error"]) %}
{% for error in error_messages %}
{{ error }}
{% endfor %}
{% endwith %}