@buoge
2017-09-22T03:04:55.000000Z
字数 1219
阅读 1560
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 %}
