Python Flask - 重复的 Flash 消息
Python Flask - Duplicate Flash Messages
我在 get_flashed_messages()
返回两条即显消息时遇到问题。
我有一个 html 表单,它在提交时更新 table 的行值。这是我为它设置的闪信:
@main.route("/update", methods=['GET', 'POST'])
def update():
if request.method == 'POST':
my_data = FundingSource.query.get(request.form.get('id'))
my_data.complete = request.form['complete']
my_data.guidance_tracker = request.form['guidance_tracker']
my_data.department = request.form['department']
my_data.agency = request.form['agency']
my_data.funding_source = request.form['funding_source']
db.session.commit()
flash("Funding Source Updated Successfully")
return redirect(url_for('main.g_master'))
这是我的模板文件中的 get_flashed_messages():
{% 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" aria-
label="close">
<span aria-hidden="true">x</span>
</button>
{{message}}
</div>
{% endfor %}
{% endif %}
{% endwith %}
当我 运行 我的 Flask 应用程序时,这是我在表单上按“更新”后得到的输出:
127.0.0.1 - - [23/Dec/2021 02:09:02] "POST /update HTTP/1.1" 302 -
127.0.0.1 - - [23/Dec/2021 02:09:02] "GET /guidanceMaster HTTP/1.1" 200 -
127.0.0.1 - - [23/Dec/2021 02:09:02] "GET /static/main.css HTTP/1.1" 304 -
127.0.0.1 - - [23/Dec/2021 02:09:02] "GET /static/backdrop1.jpg HTTP/1.1" 304 -
如何停止收到两条相同的即显消息?
问题解决了!我在我的一个布局模板文件中调用 get_flashed_messages()
,而该模板文件在我的另一个模板文件中被继承,因此出现了重复的消息。
对于其他试图解决问题的人,请检查您是否在文件的其他地方调用了 get_flashed_messages()
函数。
我在 get_flashed_messages()
返回两条即显消息时遇到问题。
我有一个 html 表单,它在提交时更新 table 的行值。这是我为它设置的闪信:
@main.route("/update", methods=['GET', 'POST'])
def update():
if request.method == 'POST':
my_data = FundingSource.query.get(request.form.get('id'))
my_data.complete = request.form['complete']
my_data.guidance_tracker = request.form['guidance_tracker']
my_data.department = request.form['department']
my_data.agency = request.form['agency']
my_data.funding_source = request.form['funding_source']
db.session.commit()
flash("Funding Source Updated Successfully")
return redirect(url_for('main.g_master'))
这是我的模板文件中的 get_flashed_messages():
{% 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" aria-
label="close">
<span aria-hidden="true">x</span>
</button>
{{message}}
</div>
{% endfor %}
{% endif %}
{% endwith %}
当我 运行 我的 Flask 应用程序时,这是我在表单上按“更新”后得到的输出:
127.0.0.1 - - [23/Dec/2021 02:09:02] "POST /update HTTP/1.1" 302 -
127.0.0.1 - - [23/Dec/2021 02:09:02] "GET /guidanceMaster HTTP/1.1" 200 -
127.0.0.1 - - [23/Dec/2021 02:09:02] "GET /static/main.css HTTP/1.1" 304 -
127.0.0.1 - - [23/Dec/2021 02:09:02] "GET /static/backdrop1.jpg HTTP/1.1" 304 -
如何停止收到两条相同的即显消息?
问题解决了!我在我的一个布局模板文件中调用 get_flashed_messages()
,而该模板文件在我的另一个模板文件中被继承,因此出现了重复的消息。
对于其他试图解决问题的人,请检查您是否在文件的其他地方调用了 get_flashed_messages()
函数。