所以我写控制器:
@app.route('/')
def index():
flash('Hello world!', 'success')
return render_template('index.html')
然后在我的模板中输出如下的flash消息:
{%- with messages = get_flashed_messages(with_categories=true) -%}
{%- if messages -%}
<ul class="flashes unstyled">
{%- for category, message in messages -%}
<li class="alert alert-{{ category }}">
<a class="close" data-dismiss="alert">×</a>
{{ message }}
</li>
{%- endfor -%}
</ul>
{%- endif -%}
{%- endwith %}
但问题是我总是得到'消息'类别,因此<li>
与类'alert alert-message'
一致。
我阅读了文档,至于我,我做的一切都是正确的,但是'flash'
函数忽略了第二个参数,并且始终使用默认值'message'
(而不是由我'成功'给出)。
我想知道是否有人有这个问题,知道如何处理它?</ p>
答案 0 :(得分:2)
编辑:根据其他评论并测试kwarg是不必要的。
根据http://flask.pocoo.org/docs/api/#message-flashing处的文档,您似乎需要使用此格式。 flash(message, category='message')
@app.route('/')
def index():
flash('Hello world!', category='success')
return render_template('index.html')
答案 1 :(得分:2)
当您致电get_flashed_messages(with_categories=True)
时,它会返回(category, message)
形式的元组列表。
现在您可以像这样使用flash()
:
flash('some message', 'success') # `category=` is needn't
在html中,您可以在通话中循环播放消息:
{% for message in get_flashed_messages(with_categories=True) %}
<div class="alert alert-{{ message[0] }}">
<button type="button" class="close" data-dismiss="alert">×</button>
{{ message[1] }}
</div>
{% endfor %}