我有一个简单的网站,用户可以输入电子邮件。如果输入了电子邮件,则会显示一条快闪消息。在
如果表单是通过点击提交按钮的鼠标提交的,它可以正常工作。在
如果通过键盘提交表单,请按“回车”键,则不会显示闪烁消息。在
在这两种情况下,表单都会成功提交并向数据库添加一个条目。在
这是我的第二个项目,我从来没有观察到这种行为,可能我从来没有注意到,现在会到处检查。在
我就是这样显示闪光灯的:
{% with messages = get_flashed_messages() %}
{% if messages %}
<div class="flashes col-xs-12">
{% for message in messages %}
<p>{{ message }}</p>
{% endfor %}
</div>
{% endif %}
{% endwith %}
代码:
^{pr2}$以下是HTML中的部分(我将flash消息移到按钮下):
<div class="bg-image" alt="Baubedarf">
<div class="index-container">
<h1> Baubedarf finden. Bautechnik entdecken </h1>
<p class="under-h1 hidden-xs hidden-sm"> Das Branchenverzeichnis für die Bauindustrie und Zulieferer </p>
<div class="newsletter-form col-xs-12 col-sm-10 col-sm-offset-1 col-md-8 col-md-offset-2 col-lg-6 col-lg-offset-3">
<form class="" method="POST" action="{{ url_for('index') }}">
{{ form.csrf_token }}
<h2> Werden Sie bereits von all Ihren potenziellen Kunden gefunden? </h2>
<p class="hidden-xs"> Wenn nicht, dann bieten wir genau das richtige. Sichern Sie sich 6 Monate kostenlos alle Vorteile einer Premium Mitgliedschaft. Melden Sie sich direkt an! </p>
{{ form.email(class="form-control", placeholder="Email") }}
<button type="submit" class="btn"> Eintragen </button>
<img alt="Banner" class="banner-index hidden-xs" src="../static/img/banner-index.png">
{% if form.email.errors %}
{% for error in form.email.errors %}
<p class="flashes-error-form"> {{ error }}</p>
{% endfor %}
{% endif %}
{% with messages = get_flashed_messages() %}
{% if messages %}
<div class="flashes col-xs-12">
{% for message in messages %}
<p>{{ message }}</p>
{% endfor %}
</div>
{% endif %}
{% endwith %}
</form>
</div>
</div>
</div>
以下是flash消息的CSS样式:
.index-container .flashes {
color: white;
text-align: center;
font-size: 20px;
}
编辑
我现在创建了一个新的网站,应该显示当电子邮件添加成功,但似乎返回重定向不起作用,这可能是为什么闪光消息不起作用(即使有时它也可以工作)。在
代码尽可能简单。。。我仍然不知道是什么导致了这个问题,因为每封邮件都成功地添加到了数据库中。在
我如何在这个问题上设立奖金?这是我遇到的最奇怪的事。在
新零件,仍然存在相同的问题:
try:
db_session.add(newsletter_user)
db_session.commit()
flash('Danke, wir melden uns bei Ihnen')
return redirect(url_for("newsletter_success"))
except IntegrityError:
flash('Email wurde bereits eingetragen')
return redirect(url_for("index"))
except InvalidRequestError as e:
print e
flash('Email wurde bereits eingetragen')
return redirect(url_for("index"))
好吧,问题是会话的
SECRET_KEY
。在我忘了换。它是:
解决方案:
^{pr2}$相关问题 更多 >
编程相关推荐