如何在表单提交后在Flask app中显示确认模式?

时间:2016-04-26 17:51:57

标签: python flask jinja2

我正在尝试在我的Flask应用中向用户显示确认/成功消息,但我无法弄清楚如何以模态显示它。

@app.route("/", methods=["POST"]
def sendForm():
    form = ContactForm(request.form)
    if request.method == 'POST':
        if form.validate():
            # do stuff with form data
            return render_template("contact.html", form=form)
        else:
            # display error message
    else:
        return render_template("index.html")

我认为,返回contact.html模板的部分是我需要帮助的地方。因为该页面基本上已刷新并在POST请求成功完成后再次显示。需要在模式中向用户显示确认消息。

在前端,我的表单如下所示:

<form method="POST" action="{{ url_for('sendForm') }}">
    <input type="hidden" name="csrf_token" value="{{ csrf_token() }}" />
    {{ render_field(form.email) }}
    {{ render_field(form.name) }}
    <input id="submit-form" type="submit" value="Send">
</form>

1 个答案:

答案 0 :(得分:1)

我会做某种形式......

在render_template中传递一个布尔值:

submission_successful = True #or False. you can determine this.
render_template("contact.html", form=form, submission_successful=submission_successful))

然后在你的模板中放置一个if语句

{% if submission_successful %}
    // modal elements here
{% endif %}